Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL Server 2016中格式化日期_Sql_Sql Server - Fatal编程技术网

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

如何在SQL Server 2016中格式化日期,sql,sql-server,Sql,Sql Server,我想将日期格式化为ddmmyyyy。我使用的是SQL Server 2016,我发现下面这行代码似乎可以完成这项工作,但实际上不行 这是我使用的代码 DECLARE @ChangedDate as date SET @ChangedDate = CONVERT(DATE, GETDATE()) SET @ChangedDate = REPLACE(CONVERT(CHAR(10), @ChangedDate, 103), '-','') 保存文档时的结果仍然是“2015-05-02”,而不是

我想将日期格式化为
ddmmyyyy
。我使用的是SQL Server 2016,我发现下面这行代码似乎可以完成这项工作,但实际上不行

这是我使用的代码

DECLARE @ChangedDate as date

SET @ChangedDate = CONVERT(DATE, GETDATE())
SET @ChangedDate = REPLACE(CONVERT(CHAR(10), @ChangedDate, 103), '-','')
保存文档时的结果仍然是“2015-05-02”,而不是我想要的“02052015”

这里怎么了

这里怎么了

它是由隐式转换引起的:

DECLARE @ChangedDate as date                 -- date NULL
SET @ChangedDate = CONVERT(DATE, GETDATE())  -- date, initialization
SET @ChangedDate = REPLACE(CONVERT(CHAR(10), @ChangedDate, 103), '-','')
--                 string converted to date
如果要将其视为字符串,请不要将其分配给
date
变量

DECLARE @ChangedDate as date  = GETDATE()
SELECT REPLACE(CONVERT(CHAR(10), @ChangedDate, 103), '/','');
-- 02052016


您可以立即声明和分配变量:

DECLARE @ChangedDate as date  = GETDATE();
DECLARE @ChangedDate2 VARCHAR(8)=REPLACE(CONVERT(CHAR(10), @ChangedDate,103),'/','');

SELECT @ChangedDate2;


正确的方法是在应用层中以日期和格式返回它

这里怎么了

它是由隐式转换引起的:

DECLARE @ChangedDate as date                 -- date NULL
SET @ChangedDate = CONVERT(DATE, GETDATE())  -- date, initialization
SET @ChangedDate = REPLACE(CONVERT(CHAR(10), @ChangedDate, 103), '-','')
--                 string converted to date
如果要将其视为字符串,请不要将其分配给
date
变量

DECLARE @ChangedDate as date  = GETDATE()
SELECT REPLACE(CONVERT(CHAR(10), @ChangedDate, 103), '/','');
-- 02052016


您可以立即声明和分配变量:

DECLARE @ChangedDate as date  = GETDATE();
DECLARE @ChangedDate2 VARCHAR(8)=REPLACE(CONVERT(CHAR(10), @ChangedDate,103),'/','');

SELECT @ChangedDate2;


正确的方法是将其作为日期和格式返回到应用程序层。

只需使用:

输出:

02052016

(注意:
mm
代表
分钟
,而
mm
代表

只需使用:

输出:

02052016

(注意:
mm
表示
分钟
,而
mm
表示