gpt4 book ai didi

sql - 将日期格式化为 yyyy-mm-dd hh :mm:ss. 000

转载 作者:行者123 更新时间:2023-12-02 05:30:34 26 4
gpt4 key购买 nike

我有这个日期:7/19/2013
我想将其格式化如下:

2013-07-19 00:00:00.000

我试过这个:
select convert(varchar(10),'7/19/2013',120)

但它给了我同样的结果!

最佳答案

你需要告诉 SQL Server 这是一个日期;否则,它只会看到一个字符串,而忽略样式编号,因为它与字符串无关。正如史蒂夫·卡斯 (Steve Kass) 指出的那样,只有保护传入的字符串免受不正确的基于区域或语言的翻译(例如 d/m/y - 这可能导致错误,甚至更糟,错误数据)的影响,代码才真正具有可移植性。我已更新代码以将字符串解释为 m/d/y无论语言环境如何,但如果您使用的是 SQL Server 2012,您也可以使用 PARSE()就像他的例子(或者 TRY_PARSE() 如果你想基本上忽略无效日期)。

而如果你想要附加的时间包括毫秒,你需要允许超过 10 个字符,以及支持毫秒的样式。

SELECT CONVERT(CHAR(23),CONVERT(DATETIME,'7/19/2013',101),121);

结果:
2013-07-19 00:00:00.000

如果您不关心毫秒,则可以改用样式 120:
SELECT CONVERT(CHAR(19),CONVERT(DATETIME,'7/19/2013',101),120);

如果你不在乎秒数,你可以提前截断:
SELECT CONVERT(CHAR(16),CONVERT(DATETIME,'7/19/2013',101),120);

关于sql - 将日期格式化为 yyyy-mm-dd hh :mm:ss. 000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18021418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com