如何将字符串格式yyyy-mm-dd转换为dd / mm / yyyy

时间:2013-09-24 17:01:38

标签: sql-server tsql date

我目前遇到了将ms sql表中的字符串字段转换为所需日期格式的问题。

以前我一直使用

CONVERT(date,c.INP_DATE ,103)

但这给了我错误

[Err] 22007 - [SQL Server]Conversion failed when converting date and/or time from character string.

我有两个样本记录是2013-09-18和2013-09-18 17:17:32.0000000,我通过mysql从导入中获得。我需要在适用的时候将这些转换为dd / mm / yyyy。

任何大师的帮助都表示赞赏:)

2 个答案:

答案 0 :(得分:5)

DECLARE @a VARCHAR(50) = '2013-09-18'
, @b VARCHAR(50) = '2013-09-18 17:17:32.0000000'

SELECT CONVERT(VARCHAR(10),CAST(@a as DATE),103)
 , CONVERT(VARCHAR(10),CAST(@b as DATE),103)

答案 1 :(得分:0)

CONVERT的正确语法是

CONVERT(data_type(length),expression,style)

其中data_type指定目标数据类型(具有可选长度) 它应该是这样的:

CONVERT(VARCHAR(10),c.INP_DATE ,103)