SQL Server——如何指定日期格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server——如何指定日期格式相关的知识,希望对你有一定的参考价值。

要求查询结果中日期字段以此格式显示: 10-06-02 日期顺序为‘年月日’,年部份只保留后两位,分隔符为‘-’。 我用CONVERT函数,指定转换样式参数值为2或11时,转换格式正确,但分隔符不是‘-’。 或者你告诉我怎样指定分隔符也行。

1、打开sql server的管理工具,点击新建查询,如下图所示。

2、然后输入select getdate(),如下图所示。

3、结果会显示年月日时分秒的格式,如下图所示。

4、然后执行convert函数,将起转换为121格式,如下图所示。

5、接着就可以看到结果只显示了日期部分,如下图所示。

6、最后经常使用的话可以抽成函数,如下图所示。

参考技术A SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm例如:
select getdate()
2004-09-12 11:06:08.177
整理了一下SQL Server里面可能经常会用到的日期格式转换方法:举例如下:
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12select CONVERT(varchar(12) , getdate(), 112 )
20040912select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )
11:06:08select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
参考技术B 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)
参考技术C select convert(char(10),cast( '2005-1-1 'as datetime),120) 参考技术D select replace(convert(char(10),cast( '2005-1-1 'as datetime),2),'.','-')

数据库SQL SERVER 2008 R2 时间戳如何转换成时间格式

查询到时间戳的内容是0x0000000000A2C7E7

参考技术A select CONVERT(varchar(6) , getdate(), 112 ) varchar里面放长度 输出就行只输出年就varchar(4)只输出年月就varchar(6)只输出年月日就varchar(8)

以上是关于SQL Server——如何指定日期格式的主要内容,如果未能解决你的问题,请参考以下文章

sql server 获取指定格式的当前日期

如何在 SQL Server中 将日期格式化

如何在 SQL Server中 将日期格式化

如何在 SQL Server中 将日期格式化

如何在 SQL Server中 将日期格式化

如何在 SQL Server中 将日期格式化