如何向mysql数据库中插入日期

如何向mysql数据库中插入日期,第1张

java中有date和datetime,mysql中也有date和datetime,这里我们来说说mysql中的date和datetime。

1 mysql中的date和datetime

11 DATETIME

类型可用于需要同时包含日期时间信息的值。MySQL 以:

‘YYYY-MM-DD HH:MM:SS’

格式检索与显示 DATETIME 类型。支持的范围是:

‘1000-01-01 00:00:00’

‘9999-12-31 23:59:59’。

(“支持”的含义是,尽管更早的值可能工作,但不能保证他们均可以。)

12 DATE

类型可用于需要一个日期值而不需要时间部分时。MySQL 以

‘YYYY-MM-DD’

格式检索与显示DATE值。支持的范围则是

‘1000-01-01’

‘9999-12-31’。

2 与java数据的交互

能看出来mysql中的date和datetime区别还是挺大的,date没有保存时间。但是java中的date(javautilDate)记录的还是挺细的,日期和时间都可以记下来,那么现在问题来了,如果想在mysql中存储日期和时间,也就是用datetime,而在数据中应该如何对应呢?

我使用hibernate测了一下,发现当把mysql数据库中设置了datetime,反向工程生成的hbmxml文件中,使用的是timestamp,如下:

<property name="Publishdate" column="publishdate" type="timestamp" not-null="false" length="10" />1

反向生成java的pojo时,生成的还是Date。

由此可见对于mysql中datetime,与java中的date,如果要使二者正确交互,中间要使用timestamp。

如果要在JAVA中直接插入MySql的datetime类型,则可以使用:

Date date = new Date();

Timestamp timeStamp = new Timestamp(dategetTime());12

再用setTimestamp()设置数据库中的“日期+时间”。

这样放入数据库的就是“yyyy-mm-dd hh:mm:ss”格式的数据。

注意,mysql中如果使用date而不是datetime是保存不下“日期+时间”的,只能保存“时间”。

1、在企业管理器中选中要修改的表格,点击鼠标右键,d出菜单点击“设计表”

2、选中要设置的字段,在默认值中绑定默认值

默认值为当前时间:getdate()

3、默认值为指定时间:'20160101',该格式各数据库版本有细微差异,示例在SQL2000环境测试:

declare @suffix varchar(1000)declare @sql varchar(2000) --这里定义了一个变量select @suffix = CONVERT(varchar(100), GETDATE(), 112)set @sql='select from test_' + @suffix + '' --需要指定动态sqlexec (@sql) --这句是执行

自己建个表,存贮周信息

看你的需要 可以只存周的开始和结束日期,也可以存从周一到周日的日期。

/

功能: 计算在某一段时间内某周几(如星期一)的所有日期

设计:OK_008

时间:2006-10

/

DECLARE @Date datetime

DECLARE @StartDate datetime

DECLARE @EndDate datetime

DECLARE @WeekDay int

DECLARE @i int

SET DATEFIRST 7 --设置每周的第一天

SET @StartDate='2006-01-01' --统计的开始日期

SET @EndDate='2006-12-31' --统计的结束日期

SET @WeekDay=1 --根据实际的@@DATEFIRST而定,一般默认是7,如 @StartDate='2006-01-01'时候, @WeekDay=3表示星期二

SET @i=DATEPART(weekday,@StartDate)

PRINT '每周的第1天设置@@DATEFIRST: '+CAST(@@DATEFIRST AS nvarchar(1))

PRINT '开始日期对应一周的第几天: '+CAST(@i AS nvarchar(1))

IF(@i<=@WeekDay AND @i<7)

SET @i=@WeekDay-@i

ELSE IF(@i<=@WeekDay AND @i=7)

SET @i=@i-@WeekDay

ELSE

SET @i=@@DATEFIRST-@i+@WeekDay

SET @Date=DATEADD(day,@i,@StartDate)

WHILE @Date<=@EndDate

BEGIN

IF(@StartDate<=@Date) PRINT CONVERT(nvarchar(10),@Date,121)

SET @Date=DATEADD(Week,1,@Date)

END

GO

/ ==============运行结果================/

/

每周的第1天设置@@DATEFIRST: 7

开始日期对应一周的第几天: 1

2006-01-01

2006-01-08

2006-01-15

2006-01-22

2006-01-29

/

--这是开始时间,末一天的话 用dateadd(day,1,@DATE)

方法和 *** 作步骤如下:

1.首先,打开数据库并创建一个新表。由于日期格式的原因,所以两个date_time和time_time字段是日期类型,见下图,然后进入下一步。

2.其次,完成以上步骤后,如果是一个简单的查询表,则会以日期格式显示,如下图所示,然后进行下一步。

3.然后,在完成上述步骤之后,将查询日期显示结果设置为日期格式,可以使用数据库函数to_char实现该格式。结果是一个字符串,如下图所示,然后是下一步。

4.然后,完成上述步骤后,在“查询编辑器”窗口中,输入如下所示的代码,然后进入下一步。

5.最后,在完成上述步骤之后,完成修改date类型字段值的 *** 作,如下图所示。这样,问题就解决了。

注意事项:

SQL是结构化查询语言的简称。SQL是一种功能完备的数据库语言,它是一组用于数据库的 *** 作命令。在使用它时,您只需要发出命令“做什么”,而“如何做”不是用户考虑的问题。

SQL数据库的数据体系结构基本上是三级结构,但是使用的术语不同于传统的关系模型术语。在SQL中,关系模式(schema)称为“基表”;内部模式称为“存储文件”;子模式(外部模式)称为“视图”;元组称为行;该属性称为列。

以上就是关于如何向mysql数据库中插入日期全部的内容,包括:如何向mysql数据库中插入日期、sql系统时间格式是怎样设定的、怎么在sql中定义一个时间变量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10180181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存