如何在字符串列中搜索五位数字?

Lee*_*Str 2 sql string numeric wildcard teradata

我正在尝试做的是确定(使用Teradata SQL)一个人的邮政编码是否意外地被放在地址线上.我查看了各种论坛,我找不到任何类似的问题.

最终,我想写一些类似的东西:

Where address_line_1 like '%[0-9][0-9][0-9][0-9][0-9]%'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

目标数据库是Teradata 13.x.

Bel*_*Bob 5

如果要检查整个列以查看它是否只包含邮政编码,您可以尝试这样的事情:

where address_line_1 between '00000' and '99999'
Run Code Online (Sandbox Code Playgroud)

但是如果你想在整个字符串中搜索任何五个连续数字的出现,那么无论如何这都不是一个好的测试.例如,以下是一个完全有效的邮寄地址:

28305 Southwest Main Street
Run Code Online (Sandbox Code Playgroud)

加载数据后进行有效性检查很困难; 这样的任务应该在加载过程中真正执行.