帮我解释一下这条sql语句
发布网友
发布时间:2023-07-17 08:38
我来回答
共2个回答
热心网友
时间:2024-11-16 16:29
你把@dt换成GETDATE(),然后分解成3个语句,一个一个看,把鼠标放到DATEADD上,按F1,里面讲的很详细
select DATEADD(Month,1,GETDATE())
select CONVERT(char(8),DATEADD(Month,1,GETDATE()))
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,GETDATE()),120)+'1')
热心网友
时间:2024-11-16 16:30
比如@dt的值是 2012-02-03
1. DATEADD(Month,1,@dt) 这个是 dt的值 中 月加个1 就是 2012-03-13 00:00:00.000
2. CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1' 这就是 得到的那个加一月后的 值之后呢转换成 char(8)类型的 加上‘1’ 就是这样的 2012-03-1
3. DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1') 就是把得到的值2012-03-1 日期减一天 最后得到 2012-02-29 00:00:00.000
明白不?