gpt4 book ai didi

sql - 将sql中的char从奇怪的格式转换为datetime

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

我有专栏createdate char(26)数据如 2004-01-30-21.29.12.893374
我想将此列转换为标准 DATETIME
然而,做一个

Convert(DATETIME, createdate,120) 

给出了这个错误:

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.



我也尝试过转换值的其他偏差,但我觉得原始日期值的格式导致了问题。

我想我需要打破 createdate char(26)值使用多个 LEFT 类型语句,但我想确保我没有先把它复杂化。

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

提前致谢

最佳答案

Declare @String varchar(50) = '2004-01-30-21.29.12.893374'

Select cast(Left(Stuff(Replace(Stuff(@String,11,1,' '),'.',':'),20,1,'.'),23) as datetime)

退货
2004-01-30 21:29:12.893

或用于 DateTime2
Declare @String varchar(50) = '2004-01-30-21.29.12.893374'

Select cast(Stuff(Replace(Stuff(@String,11,1,' '),'.',':'),20,1,'.') as datetime2)

退货
2004-01-30 21:29:12.8933740

关于sql - 将sql中的char从奇怪的格式转换为datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40045987/

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