将dd / mm / yy字符串转换为yyyy-mm-dd

问题描述 投票:1回答:3

我在将dd/mm/yy hh:mi:ss格式的字符串转换为yyyy-mm-dd hh:mi:ss格式时遇到问题。

我尝试过如下使用CONVERT()

select CONVERT(VARCHAR, '11/10/11 10:56:58', 120)

但这不会带来任何变化:

11/10/11 10:56:58
sql sql-server
3个回答
8
投票

您需要先转换为datetime才能更改字符串以反映某种区域格式。确保您正确地解释日期时间值;在一些系统上,这将是10月11日,在其他系统上将是11月10日。

SELECT CONVERT(CHAR(19), CONVERT(DATETIME, '11/10/11 10:56:58', 3), 120);

最后,在charvarchar声明中使用正确数量的字符。不指定长度是懒惰的并且可能导致问题。看到:


4
投票

这将有效:

SELECT CONVERT(VARCHAR(19),CONVERT(DATETIME,'11/10/11 10:56:58',3),120)

1
投票

问题:您正在将VARCHAR转换为VARCHAR。

如果您使用DATETIME,您的查询就可以了。

SELECT CONVERT(VARCHAR(19), CAST('11/10/11 10:56:58' AS DATETIME), 120);

fiddle

© www.soinside.com 2019 - 2024. All rights reserved.