Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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 在DB2中使用类似REGEXP_时出错_Sql_Regex_Db2_Db2 Luw - Fatal编程技术网

Sql 在DB2中使用类似REGEXP_时出错

Sql 在DB2中使用类似REGEXP_时出错,sql,regex,db2,db2-luw,Sql,Regex,Db2,Db2 Luw,我正在尝试一种我认为非常直截了当的SQL语句。我试图使用正则表达式只抓取名称仅由3个数字组成的记录 然而,我得到了一个错误,我不知道为什么。因为它是DB2,所以几乎没有那么多的例子可供借鉴(比如说Postgres),所以我被卡住了 有人知道怎么了吗 SELECT ia.ID ,ia.DESCRIPTION FROM INVENTORY.ACTIVITIES ia WHERE REGEXP_LIKE(ia.NAME, '[0-9]{3}') 错误: [IBM][CLI D

我正在尝试一种我认为非常直截了当的SQL语句。我试图使用正则表达式只抓取名称仅由3个数字组成的记录

然而,我得到了一个错误,我不知道为什么。因为它是DB2,所以几乎没有那么多的例子可供借鉴(比如说Postgres),所以我被卡住了

有人知道怎么了吗

SELECT
    ia.ID
   ,ia.DESCRIPTION
FROM INVENTORY.ACTIVITIES ia
WHERE
     REGEXP_LIKE(ia.NAME, '[0-9]{3}')
错误:

[IBM][CLI Driver][DB2/LINUXX8664]SQL0104N在“(ia.NAME,[0-9]{3}”)之后找到了一个意外的标记“)。预期的令牌可能包括:“”。SQLSTATE=42601。
您的代码应该编译。但它不能满足你的需要。字符串的开头和结尾需要标记:

SELECT ia.ID, ia.DESCRIPTION
FROM INVENTORY.ACTIVITIES ia
WHERE REGEXP_LIKE(ia.NAME, '^[0-9]{3}$')

我对您的错误的最佳猜测是一个隐藏字符。

根据db2i中没有类似的
regexp\u
,这似乎是在最新版本(11.1)中添加的:您是否尝试过
\d{3}
?刚刚尝试过。。。同样的错误您的Db2版本是什么?这很重要。