类SQL复杂请求AS400

类SQL复杂请求AS400,sql,db2,Sql,Db2,我目前正试图在AS400数据库中使用LIKE查询编写一个复杂的搜索函数 我想查找包含“LIxxxxx”的SDVR01列的所有记录。“x”是数字。问题是该列可以包含以下内容: ‘LI12345’ ‘LI12345’ “LI12345” “任意字符串” 我看不出只有经典作品才能做到这一点 可能吗 谢谢 SELECT * FROM Foo WHERE yourColumn like '%LI12345%'; 编辑 也使用通配符 SELECT * FROM Foo WHERE yourColu

我目前正试图在AS400数据库中使用LIKE查询编写一个复杂的搜索函数

我想查找包含“LIxxxxx”的SDVR01列的所有记录。“x”是数字。问题是该列可以包含以下内容: ‘LI12345’ ‘LI12345’ “LI12345” “任意字符串”

我看不出只有经典作品才能做到这一点

可能吗

谢谢

SELECT * FROM Foo
WHERE yourColumn like '%LI12345%';
编辑

也使用通配符

    SELECT * FROM Foo
WHERE yourColumn like '%LI_____%';
或者简单的
%LI%

SELECT * FROM yourTable 
         WHERE SDVR01  LIKE '%LI[0-9][0-9][0-9][0-9][0-9]%'
“LI12345”->是
“asdLI12345”->是

‘LI12X345’->不

谢谢,但似乎y=我的AS400听不懂[0-9](我想太老了)事实上,我尝试了‘LI[0-9][0-9][0-9][0-9][0-9][0-9]',它可以工作,但我不明白为什么'%LI[0-9][0-9][0-9][0-9]'不工作,它告诉我查询占用了太多内存,或者timeZyku有一个很好的回答。如果你不需要进一步搜索,你可以在最后删除%。我找到了原因!!!我的数据库包含超过70万行和20列,因此仅此情况下,它太长了,即使现在它仍能工作,但返回结果需要2秒谢谢,我已经尝试过类似的方法,但如果我找到类似“诉讼”的词,这将是一个问题,但我可能会使用此“%LI ____;%”然后使用代码应用正则表达式(但这并不方便)正如达米恩所说,我已经找到了%LI,但还不够准确