Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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
Mysql SQL:如何为这样的字符串编写过滤器-';10xx8x0xx';(x-任何符号)?_Mysql_Sql_Postgresql - Fatal编程技术网

Mysql SQL:如何为这样的字符串编写过滤器-';10xx8x0xx';(x-任何符号)?

Mysql SQL:如何为这样的字符串编写过滤器-';10xx8x0xx';(x-任何符号)?,mysql,sql,postgresql,Mysql,Sql,Postgresql,是否可以为这样的字符串编写过滤器:10xx8xx0xx,其中x-任何符号,但“非x”的顺序及其在字符串中的位置很重要 谢谢 在PostgreSQL中,有几个通配符可以在中使用。下划线与单个字符匹配: select * from mytable where mystring like '10__8__0__' 在PostgreSQL中,有几个通配符可以在中使用。下划线与单个字符匹配: select * from mytable where mystring like '10__8__0_

是否可以为这样的字符串编写过滤器:
10xx8xx0xx
,其中x-任何符号,但“非x”的顺序及其在字符串中的位置很重要


谢谢

在PostgreSQL中,有几个通配符可以在中使用。下划线
与单个字符匹配:

 select * from mytable
 where mystring like '10__8__0__'

在PostgreSQL中,有几个通配符可以在中使用。下划线
与单个字符匹配:

 select * from mytable
 where mystring like '10__8__0__'
SQL类:%s用于任意数量的字符,\仅用于一个字符


SQL Like:%for any number个字符,u仅用于一个。

@dasblinkenlight:为什么在第一次查询中将
Like
编辑为类似于
?为了搜索下划线,只需使用
ESCAPE
子句:
Like'10\\uu'ESCAPE'\
搜索以
10
开头的字符串,后跟一个下划线,后跟一个字符。@dasblinkenlight:如果我对这个问题理解正确(有点不清楚),那么您的第一个答案是正确的。后来的改变是错误的。对于类似于
操作符的
模式,您可以有多个
,没有问题。根本不需要逃逸序列。col~~~'10\uuuuu 8\uuuuu 0\uuuuuuu'@ErwinBrandstetter你是对的-我重新阅读了文档,并再次修正了答案。我希望我有一个PostgreSQL的实例来尝试我的第一个答案——这会节省我大量的打字!谢谢@dasblinkenlight:我建议您回滚自原始版本以来的所有编辑。虽然类似于
现在可以工作,但它不如类似于
~
)的
,后者在这种情况下也可以工作,并且是更快的操作员
类似于
只是PostgreSQL中的一种好奇,因为它是在SQL标准中定义的。@dasblinkenlight:为什么在第一次查询中将
类似于
编辑为
类似于
呢?为了搜索下划线,只需使用
ESCAPE
子句:
类似于'10\\\'ESCAPE'\
搜索字符串以
10
开头,后跟一个下划线,后跟一个字符。@dasblinkenlight:如果我对问题理解正确(有点不清楚),您的第一个答案是正确的。后来的改变是错误的。对于类似于
操作符的
模式,您可以有多个
,没有问题。根本不需要逃逸序列。col~~~'10\uuuuu 8\uuuuu 0\uuuuuuu'@ErwinBrandstetter你是对的-我重新阅读了文档,并再次修正了答案。我希望我有一个PostgreSQL的实例来尝试我的第一个答案——这会节省我大量的打字!谢谢@dasblinkenlight:我建议您回滚自原始版本以来的所有编辑。虽然类似于
现在可以工作,但它不如类似于
~
)的
,后者在这种情况下也可以工作,并且是更快的操作员
类似于
是一个仅在PostgreSQL中存在的好奇心,因为它是在SQL标准中定义的。这个问题非常不清楚。很难说出你到底想要什么。这个问题很不清楚。让你很难准确说出你想要什么。