繁体   English   中英

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

[英]Regex for string not ending with given suffix in teradata query

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

"TEXT
"TEXT"
"TEST
"TEST"

选择查询所需的输出,

"TEXT
"TEST

SQL查询

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

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

怎么样使用like

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM