sqlserver日期函数

一、以前,我在比较两个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值