我仔细查看了 Teradata 语法参考但无济于事
我有一些数字行:
ID
Mickey
Laura9
Larry59N
如何从行中删除整数?
我知道 SUBSTR(id, 0, index(id, '%FORMAT%')) 会起作用,但我不知道我可以在 %FORMAT% 区域输入什么来查找整数。
您可以使用 oTranslate 删除数字:
BTEQ -- 输入您的 SQL 请求或 BTEQ 命令:
选择 the_name, oTranslate( the_name, 'a0123456789','a')
从
( SELECT 'Larry59N' the_name FROM (SELECT 'X' DUMMY) a
联合所有
从(SELECT 'X' DUMMY)中选择“Laura9”
联合所有
SELECT 'Mickey' the_name FROM (SELECT 'X' DUMMY) c
) d
;
*** 查询完成。找到 3 行。返回 2 列。
*** 总经过时间为 1 秒。
the_name oTranslate(the_name,'a0123456789','a')
-------- ------------------------------------------ ------------
拉里59N 拉里N
劳拉9 劳拉
米奇米奇
HTH。
干杯。
不幸的是,我不相信 Teradata 的原生功能可以实现这一点。我建议查看 Teradata 开发人员交流 (链接) 上发布的 UDF。特别是该功能eReplaceChar看起来可以帮助您完成您希望使用此数据执行的操作。在上面的链接中找到的 UDF 是在 Apache 2.0 许可下发布的,因此使用它们应该不会有任何问题。