TeradataSQL:查询一列中有空格的模式(又称where子句,用于搜索字符串中有空格的模式)
我能做到TeradataSQL:查询一列中有空格的模式(又称where子句,用于搜索字符串中有空格的模式),sql,regex,database,teradata,sqlperformance,Sql,Regex,Database,Teradata,Sqlperformance,我能做到 where Col like '%Mystring%String2%' 在Teradata SQL或中,我可以使用?进行单字符匹配。我如何搜索 使用terdatasqlregex的类似内容模式 string2 例如 不为空或 不为空 在2个或多个字符串之间有1个或多个空格或其他非字母字符的实例 例如,在 PDCR < /代码>数据库中考虑这个字符串,它是 SqtExt/的一部分。 注意NOT和NULL和IS和NULL 所以我想形成where子句来检查各种非alpha条件,比如
where Col like '%Mystring%String2%'
在Teradata SQL或中,我可以使用?
进行单字符匹配。我如何搜索
使用terdatasqlregex的类似内容模式
string2
例如
不为空
或不为空
在2个或多个字符串之间有1个或多个空格或其他非字母字符的实例
例如,在<代码> PDCR < /代码>数据库中考虑这个字符串,它是<代码> SqtExt/<代码>的一部分。
注意
NOT
和NULL
和IS
和NULL
所以我想形成where
子句来检查各种非alpha条件,比如(这更像是伪代码,对不起)
其中类似于“%NOTNULL%”的Sqltext
或类似“%”、\%%的SQLtext使用正则表达式\s
查找空白(空格、制表符、CRLF):
或者REGEXP_INSTR,它稍微短一点,因为在开始和结束处不需要“任何字符”:
WHERE REGEXP_INSTR(x,'IS[\s|\|]+NOT',1,1,0,'i') > 0
使用正则表达式\s
查找空白(空格、制表符、CRLF):
或者REGEXP_INSTR,它稍微短一点,因为在开始和结束处不需要“任何字符”:
WHERE REGEXP_INSTR(x,'IS[\s|\|]+NOT',1,1,0,'i') > 0
一些数据和期望结果的例子将有助于理解您的问题。请阅读,这里是学习如何提高问题质量和获得更好答案的好地方。请定义非字母字符,可能类似于REGEXP\u(col,'.*string[^a-z]+string2.*?,'i')
谢谢。我已经举了一些例子。我不是在寻找输入,我想要这种输出类型的答案。对不起,但是你的“示例”令人困惑/难以理解。你知道你想要什么,但我们不知道。嗨,胡安和迪特。谢谢你们两位。抱歉,如果它听起来有点模糊,只是编辑并添加了更多细节。一些数据和期望结果的示例将有助于理解您的问题。请阅读,这里是学习如何提高问题质量和获得更好答案的好地方。请定义非字母字符,可能类似于REGEXP\u(col,'.*string[^a-z]+string2.*?,'i')
谢谢。我已经举了一些例子。我不是在寻找输入,我想要这种输出类型的答案。对不起,但是你的“示例”令人困惑/难以理解。你知道你想要什么,但我们不知道。嗨,胡安和迪特。谢谢你们两位。抱歉,如果它听起来模糊,只是编辑和添加了更多的细节。
WHERE REGEXP_SIMILAR(col,'.*?IS[\s|\|]+NOT.*?','i') = 1
.*? -- any characters
IS -- 1st string
[\s|\|]+ -- one or more whitespaces and/or |
NOT -- 2nd string
.*?' -- any characters
WHERE REGEXP_INSTR(x,'IS[\s|\|]+NOT',1,1,0,'i') > 0