REGEXP REPLACE teradata 以消除地址字段中出现的数字词
REGEXP REPLACE teradata to eliminate numeric words appearing in the address field
我想从地址字段中提取街道名称和类型。
Input = expected output
3/14 MARKDOWN ST = MARKDOWN ST
22-23 MARKDOWN ST = MARKDOWN ST
33C MARKDOWN ST = MARKDOWN ST
33 MARKDOWN VENUE ST = MARKDOWN ST
44/11 MARKDOWN AVE = MARKDOWN AVE
我试过 TRIM(regexp_replace( col, '^[0-9]|[/-][0-9]' )) 但它只是删除了数字,我希望与单词数字相关联的也被删除。
33 MARKDOWN VENUE ST
的输出应该是 MARKDOWN VENUE ST
吗?如果是这样,试试这个:
SELECT
myvalue,
REGEXP_SUBSTR(myvalue, '^.*?\s(.*)$') AS mystreet
FROM cte
我没有要测试的 TD
系统,但请尝试一下并告诉我。您可能还需要修改匹配参数。
试试这个:
regexp_replace(upper(<your column>),'\b([^A-Z]*\d)\w*','')
这应该替换任何包含非字母字符的单词。
我想从地址字段中提取街道名称和类型。
Input = expected output
3/14 MARKDOWN ST = MARKDOWN ST
22-23 MARKDOWN ST = MARKDOWN ST
33C MARKDOWN ST = MARKDOWN ST
33 MARKDOWN VENUE ST = MARKDOWN ST
44/11 MARKDOWN AVE = MARKDOWN AVE
我试过 TRIM(regexp_replace( col, '^[0-9]|[/-][0-9]' )) 但它只是删除了数字,我希望与单词数字相关联的也被删除。
33 MARKDOWN VENUE ST
的输出应该是 MARKDOWN VENUE ST
吗?如果是这样,试试这个:
SELECT
myvalue,
REGEXP_SUBSTR(myvalue, '^.*?\s(.*)$') AS mystreet
FROM cte
我没有要测试的 TD
系统,但请尝试一下并告诉我。您可能还需要修改匹配参数。
试试这个:
regexp_replace(upper(<your column>),'\b([^A-Z]*\d)\w*','')
这应该替换任何包含非字母字符的单词。