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

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

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-20
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
第2个回答  推荐于2018-03-01
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)本回答被网友采纳
第3个回答  2013-06-09
select convert(char(10),cast( '2005-1-1 'as datetime),120)
第4个回答  2013-06-09
select replace(convert(char(10),cast( '2005-1-1 'as datetime),2),'.','-')