我在这样的列中有一个日期(2016-06-01 21:50:00.000
) - YYYY-MM-DD HH:MM:SS
我正在尝试将其转换为像这样 - > (01/06/2016 21:50:00.000
)DD-MM-YYYY HH:MM:SS
我尝试了以下内容;
SELECT CONVERT(VARCHAR(30), CONVERT(DATETIME, MYDATECOLUMN, 101), 103)
FROM MYTABLE
缺少时间部分。
有人可以建议如何实现这个目标吗?
我无权更改表格中的数据
答案 0 :(得分:1)
尝试以下代码
select CONVERT(VARCHAR(10), MYDATECOLUMN, 103) + ' ' + convert(VARCHAR(8), MYDATECOLUMN, 14)
FROM MYTABLE
如果要显示毫秒,也会在第二部分中将varchar大小从8更改为12
select CONVERT(VARCHAR(10), MYDATECOLUMN, 103) + ' ' + convert(VARCHAR(12), MYDATECOLUMN, 14)
FROM MYTABLE
答案 1 :(得分:1)
您可以将103
用于日期部分,然后CAST
将date_column用于TIME
以获取时间部分。
<强> QUERY 强>
SELECT CONVERT(VARCHAR(25), GETDATE(), 103) +
' ' + CAST(CAST(GETDATE() AS TIME) AS VARCHAR(20));
<强>结果强>
02/05/2016 12:43:05.9930000
或者如果你想删除毫秒部分,
<强> QUERY 强>
SELECT CONVERT(VARCHAR(25), GETDATE(), 103) +
' ' + CONVERT(VARCHAR(8), GETDATE(), 108);
<强>结果强>
02/05/2016 12:43:30
答案 2 :(得分:0)
试试这个
SELECT CONVERT(VARCHAR(10), Cast(MYDATECOLUMN as date), 103) +
' ' + CONVERT(VARCHAR(12), Cast(MYDATECOLUMN as time), 113);