gpt4 book ai didi

sql - 将varchar转换为具有毫秒的sql中的日期时间

转载 作者:行者123 更新时间:2023-12-04 22:47:18 25 4
gpt4 key购买 nike

我有一个 abc varchar(100) 列,其中包含 2011-09-26 16:36:57.810000 之类的数据

我想将此列转换为 DATETIME ...

但是做一个

Convert(DATETIME, abc,120) 

给出了这个错误:

Conversion failed when converting date and/or time from character string.



任何人都可以帮我将我的 varchar 格式转换为 SQL Server 2008 中的 datetime 吗?

提前致谢

最佳答案

您可以使用样式 121,但对于毫秒 (即 yyyy-mm-dd hh:mi:ss.mmm(24h) )格式, 只能使用 3 位数字。

declare @abc varchar(100)='2011-09-26 16:36:57.810' 
select convert(datetime,@abc,121)

因此,您可以在转换为之前通过将 varchar 字段限制为 23 个字符来对其进行排序:
declare @abc varchar(100)='2011-09-26 16:36:57.810000' 
select convert(datetime,convert(varchar(23),@abc),121)

或者使用 Left() 函数获取前 23 个字符为:
select convert(datetime,left(@abc,23),121)

尽量避免将日期存储为字符串。

关于sql - 将varchar转换为具有毫秒的sql中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19025192/

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