日期转换问题:yyyy/MM/dd到dd/MM/yyyy

cha*_*ara 3 sql sql-server date

我有一个日期列的日期格式

2010-04-14
Run Code Online (Sandbox Code Playgroud)

在SQL Server中.是否有任何可能的方法来检索日期格式

14/04/2010
Run Code Online (Sandbox Code Playgroud)

在一个选择声明?

Stu*_*ler 8

试试这个:

SELECT CONVERT(VARCHAR(10), GETDATE(), 103) AS [DD/MM/YYYY]
Run Code Online (Sandbox Code Playgroud)

来源链接

附录1:

如我的评论中所述,您需要DATETIME在上述操作之前将字段转换为类型.此示例应适用于您的SQL Server:

SELECT CONVERT(VARCHAR(10), CAST('2010-04-14' AS DATETIME), 103) AS [DD/MM/YYYY]
Run Code Online (Sandbox Code Playgroud)

如果你得到这个例外:

消息242,级别16,状态3,行1将varchar数据类型转换为日期时间数据类型导致超出范围的值.

然后,您需要将日期字段更改为YYYY-MM-DD格式,EG:2010-14-04

要么

在select语句之前添加以下行:

SET DATEFORMAT MDY -- Input dates are in the MM/DD/YYYY format, change to DMY to handle UK dates
Run Code Online (Sandbox Code Playgroud)

例:

SET DATEFORMAT MDY;

SELECT CONVERT(VARCHAR(10), CAST('2010-04-14' AS DATETIME), 103) AS [DD/MM/YYYY]
Run Code Online (Sandbox Code Playgroud)