SQL Server中, DateTime (日期)型操作的 SQL语法
2008-02-22 07:52
435 查看
这两天操作SQL Server的数据,需求是将一个日期类型字段的时、分、秒去处,即 ‘2007-11-07 16:41:35.033’ 改为‘2007-11-07 00:00:00‘,所以查询了一下网上对DateTime类型操作的SQL语法,发现实现这个功能很简单。 update YourTable set YourDateColumn = CONVERT(char(11),YourDateColumn ,120) 搞定! 注:其他DateTime操作语法 (转) 1、日期格式化处理 DECLARE @dt datetime SET @dt=GETDATE() --1.短日期格式:yyyy-m-d SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-') --2.长日期格式:yyyy年mm月dd日 --A. 方法1 SELECT STUFF(STUFF(CONVERT(char(8),@dt,112),5,0,N'年'),8,0,N'月')+N'日' --B. 方法2 SELECT DATENAME(Year,@dt)+N'年'+DATENAME(Month,@dt)+N'月'+DATENAME(Day,@dt)+N'日' --3.长日期格式:yyyy年m月d日 SELECT DATENAME(Year,@dt)+N'年'+CAST(DATEPART(Month,@dt) AS varchar)+N'月'+DATENAME(Day,@dt)+N'日' --4.完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm SELECT CONVERT(char(11),@dt,120)+CONVERT(char(12),@dt,114) 2、日期推算处理 DECLARE @dt datetime SET @dt=GETDATE() DECLARE @number int SET @number=3 --1.指定日期该年的第一天或最后一天 --A. 年的第一天 SELECT CONVERT(char(5),@dt,120)+'1-1' --B. 年的最后一天 SELECT CONVERT(char(5),@dt,120)+'12-31' --2.指定日期所在季度的第一天或最后一天 --A. 季度的第一天 SELECT CONVERT(datetime, CONVERT(char(8), DATEADD(Month, DATEPART(Quarter,@dt)*3-Month(@dt)-2, @dt), 120)+'1') --B. 季度的最后一天(CASE判断法) SELECT CONVERT(datetime, CONVERT(char(8), DATEADD(Month, DATEPART(Quarter,@dt)*3-Month(@dt), @dt), 120) +CASE WHEN DATEPART(Quarter,@dt) in(1,4) THEN '31'ELSE '30' END) --C. 季度的最后一天(直接推算法) SELECT DATEADD(Day,-1, CONVERT(char(8), DATEADD(Month, 1+DATEPART(Quarter,@dt)*3-Month(@dt), @dt), 120)+'1') --3.指定日期所在月份的第一天或最后一天 --A. 月的第一天 SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1') --B. 月的最后一天 SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1') --C. 月的最后一天(容易使用的错误方法) SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt)) --4.指定日期所在周的任意一天 SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt) --5.指定日期所在周的任意星期几 --A. 星期天做为一周的第1天 SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt) --B. 星期一做为一周的第1天 SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)
相关文章推荐
- SQL Server中, DateTime (日期)型操作的 SQL语法(转载)
- SQL Server中, DateTime (日期)型操作的 SQL语法(转载)
- SQL Server中, DateTime (日期)型操作的 SQL语法
- SQL 对DateTime (时间和日期)数据类型的基本操作
- SQL Server 数据库操作总结(sql语法的使用)
- SQL Server中, DateTime (日期)型操作[转]
- sql 根据日期模糊查询&SQL Server dateTime类型 模糊查询
- SQL Server中, DateTime (日期)型操作的 SQL语法
- Sql Server实用操作-动态sql语句基本语法
- sql 根据日期模糊查询&SQL Server dateTime类型 模糊查询
- .Net FX 2.0 中文语言包 与 英文包 在 Sql Server 日期操作的 差异。[Conversion failed when converting datetime from character string.]
- Sql Server实用操作-动态sql语句基本语法
- SQL Server中, DateTime (日期)型操作的 SQL语法
- Sql Server日期查询-SQL查询今天、昨天、7天内、30天
- sql server使用convert来取得datetime日期数据
- SQL Server数据类型,其中的日期有范围datetime:旧版本的日期时间类型,范围1753-01-01 to 9999-12-31,精确到3.33毫秒
- SQL Server 日期操作全接触
- Sql Server 中的日期时间操作
- Sql Server 日期格式化函数及收缩数据库语法
- sql语句中获取datetime的日期部分或时间部分