gpt4 book ai didi

mysql - SQL 查询包括带连字符的多种格式

转载 作者:行者123 更新时间:2023-11-29 20:45:42 25 4
gpt4 key购买 nike

我需要帮助从下表中找出美国所在县的所有无效税号。 (有效格式严格为“XXXXXXXXX”、“XX-XXXXXXX”、“XXX-XX-XXXX”(所有数值)

因此,如果列具有空值、字母数字,我应该能够返回结果。输出中应包含除上述格式之外的任何内容。

我写了下面的内容,但它没有给我我想要的东西。

SELECT 
AT.ACCOUNTID,
AT.TAXID,
AT.COUNTRY
FROM
ACCOUNT_TABLE AT
WHERE
AT.TAXID NOT LIKE '__-_______%'
AND AT.TAXID NOT LIKE '_________'
AND AT.TAXID NOT LIKE '___-__-____'
AND AT.TAXID IS NULL
AND AT.COUNTRY = 'USA'

结果:

ACCOUNTID   TAXID   COUNTRY
70656 N/A NULL
69163 FOREIGN GBR
474 REP GERMANY DEU
66295 12-1234567 IRL
69442 660-535408 USA
1441 CANADIAN NULL
70135 999999999 NULL
1369 OFFSHORE CAN
1467 123456789 JE
1473 123-45-6789 FRA
255894 N/A GBR

最佳答案

在 SQL Server 上,您可以使用 replaceisnumeric 对数字进行检查。请注意,某些条件应与逻辑 or 组合,而不是与 and 组合:

select at.accountid, at.taxid, at.country 
from account_table at
where ( not isnumeric(replace(at.taxid, '-', ''))
or ( at.taxid not like '__-_______'
and at.taxid not like '_________'
and at.taxid not like '___-__-____'
)
or at.taxid is null)
and at.country = 'usa'

关于mysql - SQL 查询包括带连字符的多种格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38442080/

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