Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TeradataSQL:查询一列中有空格的模式(又称where子句,用于搜索字符串中有空格的模式)_Sql_Regex_Database_Teradata_Sqlperformance - Fatal编程技术网

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