Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
如何在SQL中使用正则表达式,~在这里意味着什么_Sql_Regex - Fatal编程技术网

如何在SQL中使用正则表达式,~在这里意味着什么

如何在SQL中使用正则表达式,~在这里意味着什么,sql,regex,Sql,Regex,任务:获取名字中超过6个字符的人的列表 , 由于我对正则表达式而不是SQL符号“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuux%”比较熟悉,我创建了以下内容: SELECT first_name, last_name FROM names WHERE first_name LIKE '.{6,}' 但是SQL不接受我的正则表达式,为什么?我找不到在SQL中使用正则表达式的方法,但在解决方案中我发现: SELECT first_name, last_name FROM na

任务:获取名字中超过6个字符的人的列表 ,

由于我对正则表达式而不是SQL符号“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuux%”比较熟悉,我创建了以下内容:

SELECT first_name, last_name
FROM names
WHERE first_name LIKE '.{6,}'
但是SQL不接受我的正则表达式,为什么?我找不到在SQL中使用正则表达式的方法,但在解决方案中我发现:

SELECT first_name, last_name 
FROM names 
WHERE first_name ~ '.{6,}' -- like it :P

在互联网上,我发现~是用来连接表的?但是我不明白为什么这里使用它,为什么它使正则表达式工作。

一些数据库支持正则表达式。Postgres使用
~
进行正则表达式匹配:

WHERE first_name ~ '.{6,}'
在MySQL中,这将是:

WHERE first_name REGEXP '.{6,}'
在甲骨文中:

WHERE RGEXP_LIKE(first_name, '.{6,}')

有些数据库支持正则表达式。Postgres使用
~
进行正则表达式匹配:

WHERE first_name ~ '.{6,}'
在MySQL中,这将是:

WHERE first_name REGEXP '.{6,}'
在甲骨文中:

WHERE RGEXP_LIKE(first_name, '.{6,}')

你在使用什么数据库?而且
~
不是我熟悉的任何数据库中用于联接表的运算符。它在PostgreSQL 9.6上运行。您使用的是什么数据库?而且,
~
不是我熟悉的任何数据库中用于联接表的运算符。它运行在PostgreSQL 9.6上