sql server 日期处理
2012-07-16 15:10
204 查看
convert(varchar(10),getdate(),120) 自我理解肯定不标准 参数:1要获得的日期长度 比如:2012-07-16 为varchar(10), 2012-07-16 15 (解释:15为下午三点) varchar(13) 第二个为时间字段 第三个为类型 比如 20120716 格式或者 2012-07-16 格式 下面为转的 获取当前日期利用 convert 来转换成我们需要的datetime格式. select CONVERT(varchar(12) , getdate(), 112 ) 20040912 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 101 ) 09/12/2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 103 ) 12/09/2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 104 ) 12.09.2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 105 ) 12-09-2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 106 ) 12 09 2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 107 ) 09 12, 2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 108 ) 11:06:08 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 109 ) 09 12 2004 1 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 110 ) 09-12-2004 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 113 ) 12 09 2004 1 ------------------------------------------------------------ select CONVERT(varchar(12) , getdate(), 114 ) 11:06:08.177 ------------------------------------------------------------ declare @dateTime DateTime--定义一个datetime的变量 set @dateTime=getdate(); --获取系统当前时间,并赋值给@dateTime字段 --短日期格式:yyyy-m-d SELECT REPLACE(CONVERT(varchar(10),@dateTime,120),N'-0','-') --长日期格式:yyyy年mm月dd日 SELECT STUFF(STUFF(CONVERT(char(8),@dateTime,112),5,0,N'年'),8,0,N'月')+N'日' --长日期格式:yyyy年m月d日 SELECT DATENAME(Year,@dateTime)+N'年'+CAST(DATEPART(Month,@dateTime) AS varchar)+N'月'+DATENAME(Day,@dateTime)+N'日' --完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm SELECT CONVERT(char(11),@dateTime,120)+CONVERT(char(12),@dateTime,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日期格式处理-把14位字符串返回成日期格式
- SQL Server关于星期的处理(日期处理)
- SQL Server日期处理datetime和date之间的相互转换
- 6、SQL Server:SqlServer时间日期处理函数及字符串转换
- SET DATEFORMAT对日期处理的影响(sql server)
- SQL Server 数据库日期处理及其他常用函数
- PHP模拟SQL Server的两个日期处理函数
- PHP模拟SQL Server的两个日期处理函数
- sql server学习笔录5(T-SQL 日期处理总结)
- sql server,Oracle通用处理自动产生流水编号:字母、日期、数字等组成
- sql server 日期处理datediff
- PHP模拟SQL Server的两个日期处理函数
- SQL Server 中的日期、时间处理中的注意点(1)
- SQL SERVER 时间日期处理函数
- 关于SQL SERVER 2000的一些基本知识(2)——SQL SERVER 2000日期处理
- SQL Server 0101 首日期的处理
- SQL Server日期处理datetime和date之间的相互转换
- SQL Server 日期和时间处理
- SQL SERVER时间日期处理函数!
- PHP模拟SQL Server的两个日期处理函数