sql server 中使用日期类型的几点心得(转)

来源:互联网 发布:知乎怎么看答谢 编辑:程序博客网 时间:2024/05/10 23:13
导读:
一、以前,我在比较两个datetime 类型数据A、B是否同年同月同日的方法是:

        where year(A) = year(B) AND month (A) = month(B) AND day(A) = day(B)
实际上可以用更简洁的方式实现

        where datediff(day,A,B) = 0
        同样,要比较A、B是否同年同月的方法是:

        where datediff(month,A,B) = 0
关于 datediff 请参阅联机丛书。
二、在 ms sql server 的日期函数中可以用"0"来代替日期,"0"表示的日期是1900-01-01 00:00:000。
三、去掉getdate() 函数返回的时、分、秒信息

        dateadd(day,datediff(day,0,getdate()),0)
四、显示getdate() 函数返回的时间是星期几

        select datename(weekday,getdate())
这个结果与 @@datefirst 的值有关
五、SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm ,如果我们需要不同的日期格式如:2005/10/27,2005-10-27,
可以通过下面这个函数实现:

        select CONVERT(varchar(10) , 时间, 120 )
这里的120,可以用101到114之间的数值代替(108获取的是时间)。当然,在有几种情况下,要将varchar(10)换成varchar(12)才能完整的显示出来。
下面给出几个常用的数值:
120 结果:2005-10-27
102 结果:2005.10.25
111 结果:2005/10/27
101 结果:10/27/2005
112 结果:20051027
        本文转自
http://www.cnblogs.com/sashow/archive/2005/10/27/262758.aspx
原创粉丝点击