正则表达式的字符串不以Teradata查询中的给定后缀结尾

时间:2018-11-07 11:08:30

标签: sql teradata teradata-sql-assistant

我试图从数据库中获取以引号开头且不以引号结尾的行。在“名称”列中有以下行,

"TEXT
"TEXT"
"TEST
"TEST"

选择查询所需的输出,

"TEXT
"TEST

SQL查询

SELECT * FROM db.supplier where  regexp_instr(Name_ ,'^[\"][\w-_.]+(?<!")') = 1;

我知道正则表达式应该以$结尾以标记结尾,但是它也没有用。任何建议深表感谢。

2 个答案:

答案 0 :(得分:1)

如何使用like

where Name_ like '"%' and Name_ not like '%"'

这似乎很简单。您还可以使用regexp_similar()

where regexp_similar(Name_, '^".*[^"]$')

答案 1 :(得分:1)

您为什么要在后面使用负数?这将返回所有开头但不以双引号结尾的值:

where regexp_similar(Name_ ,'".+[^"]') = 1