sqlserver
中经常 要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些sqlserverConvert DateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助.
将sqlserver中table表的[datetime]字段值‘2007-11-07 16:41:35.033’ 改为‘2007-11-07 00:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦. UPDATE table SET [datetime]= Convert(char(11),[datetime],120)
获取当前日期利用 convert 来转换成我们需要的datetime格式.
select CONVERT(varchar(12),getdate(),112 )
20040912
------------------------------------------------------------
2004.09.12
09/12/2004
12/09/2004
12.09.2004
12-09-2004
12 09 2004
09 12,2004
11:06:08
09 12 2004 1
09-12-2004
12 09 2004 1
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),112),5,N'年'),8,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),120)+CONVERT(char(12),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. 年的最后一天
--2.指定日期所在季度的第一天或最后一天
--A. 季度的第一天
SELECT CONVERT(datetime,
CONVERT(char(8),sans-serif; font-size:13px; line-height:19.5px">DATEADD(Month,sans-serif; font-size:13px; line-height:19.5px">DATEPART(Quarter,@dt)*3-Month(@dt)-2,sans-serif; font-size:13px; line-height:19.5px">@dt),sans-serif; font-size:13px; line-height:19.5px">120)+'1')
--B. 季度的最后一天(CASE判断法)
120)
+CASE WHEN DATEPART(Quarter,@dt) in(1,4)
THEN '31'ELSE '30' END)
--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-1,sans-serif; font-size:13px; line-height:19.5px">1+DATEPART(Quarter,sans-serif; font-size:13px; line-height:19.5px">--3.指定日期所在月份的第一天或最后一天
--A. 月的第一天
--B. 月的最后一天
--C. 月的最后一天(容易使用的错误方法)
SELECT DATEADD(Month,DATEADD(Day,-DAY(@dt),@dt))
--4.指定日期所在周的任意一天
--5.指定日期所在周的任意星期几
--A. 星期天做为一周的第1天
--B. 星期一做为一周的第1天
irsT-2)%7-1,@dt)
将sqlserver中table表的[datetime]字段值‘2007-11-07 16:41:35.033’ 改为‘2007-11-07 00:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦. UPDATE table SET [datetime]= Convert(char(11),[datetime],120)
获取当前日期利用 convert 来转换成我们需要的datetime格式.
select CONVERT(varchar(12),getdate(),112 )
20040912
------------------------------------------------------------
2004.09.12
09/12/2004
12/09/2004
12.09.2004
12-09-2004
12 09 2004
09 12,2004
11:06:08
09 12 2004 1
09-12-2004
12 09 2004 1
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),112),5,N'年'),8,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),120)+CONVERT(char(12),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. 年的最后一天
--2.指定日期所在季度的第一天或最后一天
--A. 季度的第一天
SELECT CONVERT(datetime,
CONVERT(char(8),sans-serif; font-size:13px; line-height:19.5px">DATEADD(Month,sans-serif; font-size:13px; line-height:19.5px">DATEPART(Quarter,@dt)*3-Month(@dt)-2,sans-serif; font-size:13px; line-height:19.5px">@dt),sans-serif; font-size:13px; line-height:19.5px">120)+'1')
--B. 季度的最后一天(CASE判断法)
120)
+CASE WHEN DATEPART(Quarter,@dt) in(1,4)
THEN '31'ELSE '30' END)
--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-1,sans-serif; font-size:13px; line-height:19.5px">1+DATEPART(Quarter,sans-serif; font-size:13px; line-height:19.5px">--3.指定日期所在月份的第一天或最后一天
--A. 月的第一天
--B. 月的最后一天
--C. 月的最后一天(容易使用的错误方法)
SELECT DATEADD(Month,DATEADD(Day,-DAY(@dt),@dt))
--4.指定日期所在周的任意一天
--5.指定日期所在周的任意星期几
--A. 星期天做为一周的第1天
--B. 星期一做为一周的第1天
irsT-2)%7-1,@dt)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。