SQL插入时间格式问题

SQL插入时间格式问题,第1张

根据你这个时间格式  2015-06-20 00:00:00.000

看上去不是 Oracle 数据库的样子。

可能是 SQL Server 数据库。

1>

2>

3> -- 使用强制指定 时分秒的算法

4> SELECT Convert(datetime, '2015-06-20 23:59:59') AS result

5> GO

result

-----------------------

2015-06-20 23:59:59.000

(1 行受影响)

1>

2>

3> -- 使用 加1天, 减1秒的算法

4> SELECT DATEADD(ss, -1, DATEADD(dd, 1, '2015-06-20')) AS result

5> GO

result

-----------------------

2015-06-20 23:59:59.000

(1 行受影响)

SQL的时间格式是:YYYY-MM-DD HH:NN:SS.sss

其sss是毫秒,由于计算机内部时钟晶振的问题,SQL时间最小单位为3毫秒。

一般SQL时间格式处理:大都采取转换格式至datetime格式

例如显示时常用到的:

1、将2015转换为当年的第一天:

select cast('2015'+'-1-1' as datetime)

输出结果为:2015-01-01 00:00:00.000

2、将2015-02转换为当年的第一天:

select cast('2015-02'+'-1' as datetime)

输出结果为:2015-02-01 00:00:00.000

其实以上可以总结为将具有一定格式的字符串转换为日期类型,只要将年月日补全,后面的时间会默认为0时0分0秒0毫秒

向数据库中插入:to_date('20040810','yyyy-mm-dd'),这里你要注意你的数据库字段必须是日期型,当然日期是什么格式,有很多种,你可以自己选择:yyyy/mm/dd,mm/dd/yyyy等等很多


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存