SQL语句,取日期最后一天
2008-06-18 09:07
281 查看
在SQL语句中,当where条件中有一日期变量时,我想把年月日中的日改成当月的最后一天,如30,或31,怎么做啊
select * from table1 where work_date > :aDate ;
如
aDate = “2002-05-12”
则,我需要的是把aDate 修改成“2002-05-31”,
---------------------------------------------------------------
declare @dt datetime
declare @lastdt datetime
select @dt='2002-5-12'
select @lastdt=dateadd(day,-datepart(day,@dt),dateadd(month,1,@dt))
select @lastdt
result:
以下是针对上面的修改:
感谢ghxghx的指正,发现以前回答问题时的一个错误,现在更正。
问题:取一个日期所在的月份的天数
错误的回答:
Declare @dt datetime
Set @dt='2002/04/24'
select DATEDIFF(dd,@dt,dateadd(mm,1,@dt))
正确的(N_Chow 的答案):
Declare @dt datetime
Set @dt='2002/04/24'
SELECT 32-Day(@dt+(32-Day(@dt))) as 該月份的天數
原因:
如果
Declare @dt datetime
Set @dt='2002/01/31'
select DATEDIFF(dd,@dt,dateadd(mm,1,@dt))
的结果是2002/01/28
同样的问题:
找到某一个月的最后一天的函数
错误的回答:
declare @dt datetime
declare @lastdt datetime
select @dt='2002-5-12'
select @lastdt=dateadd(day,-datepart(day,@dt),dateadd(month,1,@dt))
select @lastdt
正确的:
Declare @dt datetime
Set @dt='2002/04/24'
SELECT cast(str(Year(@dt))+'/'+str(Month(@dt))+'/'+str(32-Day(@dt+(32-Day(@dt)))) as datetime)
select * from table1 where work_date > :aDate ;
如
aDate = “2002-05-12”
则,我需要的是把aDate 修改成“2002-05-31”,
---------------------------------------------------------------
declare @dt datetime
declare @lastdt datetime
select @dt='2002-5-12'
select @lastdt=dateadd(day,-datepart(day,@dt),dateadd(month,1,@dt))
select @lastdt
result:
以下是针对上面的修改:
感谢ghxghx的指正,发现以前回答问题时的一个错误,现在更正。
问题:取一个日期所在的月份的天数
错误的回答:
Declare @dt datetime
Set @dt='2002/04/24'
select DATEDIFF(dd,@dt,dateadd(mm,1,@dt))
正确的(N_Chow 的答案):
Declare @dt datetime
Set @dt='2002/04/24'
SELECT 32-Day(@dt+(32-Day(@dt))) as 該月份的天數
原因:
如果
Declare @dt datetime
Set @dt='2002/01/31'
select DATEDIFF(dd,@dt,dateadd(mm,1,@dt))
的结果是2002/01/28
同样的问题:
找到某一个月的最后一天的函数
错误的回答:
declare @dt datetime
declare @lastdt datetime
select @dt='2002-5-12'
select @lastdt=dateadd(day,-datepart(day,@dt),dateadd(month,1,@dt))
select @lastdt
正确的:
Declare @dt datetime
Set @dt='2002/04/24'
SELECT cast(str(Year(@dt))+'/'+str(Month(@dt))+'/'+str(32-Day(@dt+(32-Day(@dt)))) as datetime)
相关文章推荐
- [转]使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
- sql 语句(日期所在月的第一天,最后一天)
- 使用SQL语句查询日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
- 使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期)
- 使用SQL语句查询日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
- 使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期)
- sql创建 自定义函数返回当前日期所在月的第一天最后一天
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响
- SQL 计算每个月的第一天,最后一天,本月的天数,ORACLE中日期加减
- 如何用SQL语句,查询数据库(日期+时间字段)中等于某一天的记录
- 获取某月第一天,最后一天的sql server脚本,SQL日期类型总结
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响
- T-SQL:15个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受@@DateFirst、语言版本影响
- SAP HANA SQL获取当前日期最后一天
- T-SQL: 三个通用的与日期相关的,辅助按周(星期日是周的最后一天)汇总的自定义函数
- sql联系题1:创建函数返回某月最后一天日期,要求这个月包含指定日期
- 使用 T-SQL 计算当日日期、本周第一天与最后一天
- sql日期截取&生成第一天和最后一天
- 每日总结:DataTabel排序、获取某个月的第一/最后一天、Sql中Replace、SubString、Lrim、Rtrim函数、常用的日期格式