在Teradata中使用REGEXP_SIMILAR

时间:2014-11-21 05:20:21

标签: sql regex teradata

我正在研究Teradata并尝试使用REGEXP_SIMILAR函数。

 *** Teradata Database Release is 14.10.03.10                   
 *** Teradata Database Version is 14.10.03.06  

这是我的示例数据。

create table test_table(
    test_col varchar(20)
);

insert into test_table values('lorem');
insert into test_table values('984kd');
insert into test_table values('ier7j');
insert into test_table values('34535');
insert into test_table values('lore9');
insert into test_table values(' 09sd');

我希望看到以数字开头的记录。

select test_col, regexp_similar(test_col, '^\d+','i')
from test_table;

test_col              regexp_similar(test_col,'^\d+','i')
--------------------  -----------------------------------
lore9                                                   0
lorem                                                   0
 09sd                                                   0
ier7j                                                   0
984kd                                                   0
34535                                                   1

但是,上述查询只显示了与#345;' 34535'排,而不是' 984kd'。似乎^字符(也$)没有达到预期的效果。

不是REGEXP_SIMILAR与Oracle的REGEXP_LIKE类似吗?

有人可以解释为什么会发生这种情况以及如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

^\d+.*

试试这个。这会得到结果。