0

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

"TEXT
"TEXT"
"TEST
"TEST"

选择查询的所需输出,

"TEXT
"TEST

SQL查询,

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

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

4

2 回答 2

1

你为什么使用消极的后视镜?这将返回任何以双引号开头但不以双引号结尾的值:

where regexp_similar(Name_ ,'".+[^"]') = 1
于 2018-11-07T12:09:18.830 回答
1

怎么用like

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

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

where regexp_similar(Name_, '^".*[^"]$')
于 2018-11-07T12:07:58.847 回答