gpt4 book ai didi

SQL 选择以字母开头的列

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

我有一个包含数据行的表 tbl1:

ID       TIN     SSS
10001 none 1000-20
10002 69098 PRC
10003 69099 INC

我想查询每个ID的Legal_Doc_No。每个 ID 的值是 TIN 或 SSS 列。

如何查询以字母(无)开头的 TIN 和 SSS 列,以便仅将以数字开头的值分配给 Legal_Doc_No

Select
ID,
'Legal_Doc_No' = case when TIN = Letter then SSS
else TIN end
from tbl1

最佳答案

大多数数据库都支持left(),因此您可以执行以下操作:

select id,
(case when left(time, 1) between 'a' and 'z' or left(time, 1) between 'A' and 'Z'
then SSS else TIN
end) as Legal_Doc_no
from tbl1;

根据数据库的不同,可能还有其他解决方案。

在 SQL Server 中,您可以执行以下操作:

select id,
(case when time like '[a-z]%'
then SSS else TIN
end) as Legal_Doc_no
from tbl1;

如果您有区分大小写的排序规则,那么您需要考虑到这一点:

select id,
(case when lower(time) like '[a-z]%'
then SSS else TIN
end) as Legal_Doc_no
from tbl1;

关于SQL 选择以字母开头的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34147414/

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