gpt4 book ai didi

sql-server - 在 Transact 中从字符串安全转换为日期

转载 作者:行者123 更新时间:2023-12-02 00:55:35 24 4
gpt4 key购买 nike

我在 MSSQL Transact 的存储过程中有以下代码:

CAST(CONVERT(Datetime, aof.Transactiondate) AS date)

aof.Transactiondate是一个varchar(8)类型,应该写成'20160202'或者'20160117'的形式。今天我发现在极少数情况下 aof.Transactiondate 可以是“1”,因此我的代码完全崩溃了。

我能做些什么来确保以上不会崩溃并设置默认日期或其他东西而不是崩溃吗?

理论上我可以确保 varchar 中有 8 个字符,然后将 char 分成 4、2 和 2 block ,最后确保第一 block 在 2015 年和 2016 年之间(目前仅相关),第二 block 在 1 到 12 之间,第三个 block 在 1 到 31 之间,但这似乎是一个巨大的工作量。

最佳答案

TRY_CAST

如果转换成功则返回转换为指定数据类型的值;否则,返回 null。

关于sql-server - 在 Transact 中从字符串安全转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35556163/

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