我试着只列出像DDDDDDDDDLLDDDD这样的增值税号码,否则我就必须列出NULL https://i.stack.imgur.com/4PYR8.png
case when o.VAT_NUMBER= TO_char(o.VAT_NUMBER, '999999999LL9999') then o.VAT_NUMBER
else 'NULL' end as VAT_NUMBER,
我很确定我已经接近了,但还缺少一些东西:
我试着只列出像DDDDDDDDDLLDDDD这样的增值税号码,否则我就必须列出NULL https://i.stack.imgur.com/4PYR8.png
case when o.VAT_NUMBER= TO_char(o.VAT_NUMBER, '999999999LL9999') then o.VAT_NUMBER
else 'NULL' end as VAT_NUMBER,
我很确定我已经接近了,但还缺少一些东西:
2条答案
按热度按时间zf2sa74q1#
我不熟悉您使用的增值税编号。如果我没有记错的话,您要查找的值似乎包含9位数字,后面是2个L(?),后面是4位数字。Oracle文档中说明“L”代表 * 当地货币符号 *(在您的情况下是RP),因此-对于示例数据
你可以试试
qnakjoqk2#
您可以使用正则表达式
^\d{9}[A-Z]{2}\d{4}$
来比对字串的开头,然后是任何9个数字,再然后是任何2个大写字母,再然后是任何4个数字,最后是字串的结尾:如果您需要任何大小写,请使用
[a-zA-Z]
或[[:alpha:]]
,或使匹配不区分大小写。