teradata

时间:2016-07-05 17:53:29

标签: regex teradata

对于数据清理,我的程序中有很多硬编码值。我试图将这些值放入表中。此清理的一个条件是查找字符和代码(character_length(name) = 1)的长度。

但是,当我尝试使用^.$来模仿这一点时,它不会捕捉¿¥Ã

等值

如果我做错了,请告诉我。

当我在代码下面运行时,我看到这3个值¿,¥,Ã

select name from email_table
where character_length(name) = 1
and name not in
    (select name from email_table
    where regexp_similar(translate(name USING LATIN_TO_UNICODE WITH ERROR),'^.$', 'i') = 1)

1 个答案:

答案 0 :(得分:0)

似乎问题是由版本引起的。 我们在不同的服务器上有TD14和TD 15,我做了以下查询 当regexp_similar('¥','^。$','i')= 1时选择大小写          那么'Y'          别的'N'          以输出结束; 在TD 14的情况下,输出为“N”,在TD 15的情况下,输出为“Y”。