我已经在DB2上执行了查询:
SELECT * FROM MYTABLE WHERE MYFIELD LIKE '%B'
Run Code Online (Sandbox Code Playgroud)
虽然我知道数据库中有以"B"结尾的记录,但查询没有返回任何结果.经过一些研究,似乎DB2没有识别出不以'%'结尾的LIKE表达式.所以以下查询将起作用:
SELECT * FROM MYTABLE WHERE MYFIELD LIKE '%B%'
Run Code Online (Sandbox Code Playgroud)
但自然不如预期的那样,因为它只返回行,其中MYFIELD包含'B',但不会以它结尾.
如何绕过那个噱头,嗯,功能?如何在类似LIKE的表达式中匹配单词末尾的文本?
DB2可以匹配字符串末尾的模式.问题可能是还有其他角色.
你可以试试:
WHERE rtrim(MYFIELD) LIKE '%B'
Run Code Online (Sandbox Code Playgroud)
您还可以查看字段的长度并分隔字符串值以查看是否还有其他字符:
select length(MyField), '|' || MyField || '|'
from mytable
where MyField like '%B%';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2695 次 |
| 最近记录: |