SQL在查询日期数据时如何限定查询的日期格式

SQL在查询日期数据时如何限定查询的日期格式,第1张

像楼上的回答可能会出现 一种情况,如30120407 也会被认为转成3012年4月7号,这样肯定是不合适的,建议你找个最小的年份,或者编造一个最小和最大的年份:现在是2013年2月22日为最大值,然后定义你表里实际的最小值2011年1月1日:

你的start_date为date类型的sql:

select * from A where start_date between

to_date('20110101','yyyymmdd') and to_date('20130222','yyyymmdd')

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毫秒


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存