gpt4 book ai didi

sql - 与 SQL 中的 IFERROR 等效的功能?

转载 作者:行者123 更新时间:2023-12-02 03:10:05 25 4
gpt4 key购买 nike

我有一列是大量文本的子串。

我想以YYYY的格式取出应该是年份的4个字符。

如果文本不正确,它可能有一个文本使其成为一个字符串。

我想将年份与当前年份进行比较,但由于数据类型不同,我不能这样做。

TRY_PARSE 不是内置函数。

还尝试了一些变体:

SELECT SUBSTRING(Text, 46, 4) AS Year, 
CASE WHEN CAST(SUBSTRING(Text, 46, 4) AS INT) IS NULL THEN 'Error'
WHEN CAST(Year AS INT) IS NULL < YEAR(GETDATE()) THEN 'In the past'
ELSE 'In the future'
END TEXT
FROM TABLE


Example column:

Year
2011
2018
2022
D200

Example output required:

Output

'In the past'
'In the past'
'In the future'
'Error'

最佳答案

认为您想要TRY_CONVERTTRY_CAST:

SELECT CASE WHEN TRY_CONVERT(int,[Text]) < YEAR(GETDATE() THEN 'In the Past'
WHEN TRY_CONVERT(int,[Text]) = YEAR(GETDATE() THEN 'Current Year'
WHEN TRY_CONVERT(int,[Text]) > YEAR(GETDATE() THEN 'In The Future',
ELSE 'Error'
END
FROM YourTable;

关于sql - 与 SQL 中的 IFERROR 等效的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57903596/

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