如何向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是保存不下“日期+时间”的,只能保存“时间”。

--建个零时表存储这个表从最小的日期到最大的日期
create table #temp(pubished_date datetime)
declare @min datetime ,@max datetime
set @min= (select min(pubished_date ) from 表名)
set @max=(select max(pubished_date ) from 表名)
while(@min <=@max)
begin
insert into #temp select @min
set @min=dateadd(day,1,@min)
end
--把零时表中的不在原表中的日期插入表中
insert into 表名 (pubished_date) select pubished_date from #temp where pubished_date not in (select distinct pubished_date from 表名)

建一个存储过程
在里面写个循环就行了
datetime
:=
20120407--起点值
while
datetime<20150428
loop
--截止时间
sqlstr='insert
into
calendar(c_date)
values('||datetime||')';
execute
immediate
sqlstr;
datetime=to_char(to_date(datetime,'yyyymmdd')+1,'yyyymmdd');--取下一天
end
loop;

你默认当天好写,,,

CREATE TABLE test(id INT,[date] DATETIME DEFAULT GETDATE())

这样就可以了,,,,

但是你那个范围取数我没向想到建表的时候怎么弄,,,

只能给你写个随机查询了,,,,

你可以参考下,看用触发器行不,,

declare   @M   DECIMAL(18,1),@N   DECIMAL(18,1)
set   @N=6 
set   @M=13
select   cast((rand()(@M-@N)+@N)   as    DECIMAL(18,1)) id,[DATE]
FROM test


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

原文地址: https://www.outofmemory.cn/yw/13074879.html

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

发表评论

登录后才能评论

评论列表(0条)

保存