【发布时间】:2020-09-13 02:54:49
【问题描述】:
我有下面一段失败的代码。
,COALESCE(SAP.LAST_NAME, SUBSTR(PERSON_DIM.PERSON_NAME, 1,INDEX(PERSON_DIM.PERSON_NAME,',' )-1)) AS Lastname
Error: SELECT Failed: [2663] SUBSTR: string subscript out of bounds in PERSON_NAME
我调试并发现问题出在 SUBSTR(PERSON_DIM.PERSON_NAME, 1,INDEX(PERSON_DIM.PERSON_NAME,',' )-1 部分。
SEL PERSON_NAME,INDEX(PERSON_NAME,',' )-1 FROM NDW_SHARED_PII_VIEWS.PERSON_DIM WHERE PERSON_NAME NOT LIKE '%,%';--Giving us results
output:
Star Installations Inc -1
Unassigned -1
Cable Services Company Inc. -1
SEL SUBSTR(PERSON_NAME, 1,INDEX(PERSON_NAME,',' )-1) FROM NDW_SHARED_PII_VIEWS.PERSON_DIM WHERE PERSON_NAME NOT LIKE '%,%';--Failing
Above query eventually becomes like below which is causing confusion i believe.
SEL SUBSTR(PERSON_NAME, 1,-1) FROM NDW_SHARED_PII_VIEWS.PERSON_DIM WHERE PERSON_NAME NOT LIKE '%,%';
包含 ',' 的 PERSON_NAME 运行良好。您能否指导我如何构建查询以避免此错误。
【问题讨论】:
-
你想对不包含逗号的名字做什么?
-
如果 PERSON_NAME 不是个人,您可以将其留空,因为我们已经选择了完整的公司名称。
-
SELECT PERSON_NAME,SUBSTR(PERSON_DIM.PERSON_NAME, INDEX(PERSON_DIM.PERSON_NAME,',') +1 ,length(PERSON_DIM.PERSON_NAME)) FROM NDW_SHARED_PII_VIEWS.PERSON_DIM WHERE PERSON_NAME NOT LIKE '%,%' ;
-
输出: Makotek LLC Makotek LLC Non Pay Disconnects Non Pay Disconnects Vitel Communications LLC Vitel Communications LLC Laguna, Michell Michell Kelly, Shawn Michael Shawn Michael Behinan, Arsene Quentin Dieudonne Arsene Quentin Dieudonne Brookins, Laura Laura跨度>
-
请编辑您的问题以包含该示例数据和查询。评论不易阅读
标签: sql teradata teradata-sql-assistant