我仔细查看了 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 许可下发布的,因此使用它们应该不会有任何问题。