需要从DB2表中过滤其中包含B的所有值。 (我们使用将XML与DB2链接起来的工具)
当我使用"B*"
时,它会过滤掉B
作为第一个字符的所有值,但是当我给出"*B*"
时,它会获取数据库中的所有值
<DESC VALUE ="*B*">
无效
是否有任何其他方法可以为搜索元素添加通配符前缀。
答案 0 :(得分:1)
我是第二个彼得,使用'%B%'见Wildcards in DB2 SQL
Ofcourse DB2支持通配符,
对CHAR数据类型
使用%和LIKE子句例如。
SELECT * FROM your_table WHERE your_column LIKE'%1234%'
这将在字符串&amp;中的任何位置搜索子串1234的匹配项。 您将获得所需的结果:1234 1234AB 1234ABCD AB1234CD
也
Basic SQL Coding for DB2 Universal Database for OS/390(在“搜索字符串模式”下;
SQL有一个强大的谓词,允许您搜索模式 字符串列。这是LIKE谓词。假设你想要 生成名字以。开头的候选人名单 字母G.
SELECT fname,lname,wphone,hphone FROM candidate WHERE fname LIKE 'G%' ORDER BY lname,fname
在此查询中,我们使用带有LIKE谓词的通配符。在 SQL,百分比字符(%)是零或更多的替代 字符。搜索字符串G%可以用如下的名称替换 乔治,加里,姜等等(因为百分之字符可以 替换零个或多个字符,搜索字符串也可以是a 单个字母G)。
百分比字符可用于搜索字符串中的任何位置。它 也可以根据需要多次使用。百分号不是 区分大小写,因此它可以取代大写或小写 字母。但是,搜索中包含的常量字符 字符串区分大小写。
答案 1 :(得分:0)
select yourcolumn from yourtable where yourcolumn like '%B%'
我不知道您的XML工具,但这可能会为您找到解决方案吗?