首页 > 代码库 > db2的char类型末尾都会以空格填充
db2的char类型末尾都会以空格填充
查询姓“刘”且全名为2个汉字的学生的姓名:
SELECT Sname
FROM Student
WHERE Sname LIKE ‘刘__‘;
为什么没有结果呀?我把两下横线改为%后有结果出来,难道在DB2里面下横线不代表任意单个字符吗?
经过试验发现
db2的通配符“_”
只能匹配一个字节。db2情况下:
char类型, db2的char类型末尾都会以空格填充的。
如果你的sname定义为char(8), 那么‘刘xx‘在数据库里面实际上保存的是‘刘xx ‘, 后面有5个空格的。
所以你用_查询的时候需要写成‘刘_______‘, 这样才能够正确匹配的。
db2的char类型末尾都会以空格填充的。
或者可以换个思路:
select * from T_BASICPERSONALCUSTOMERS WHERE PERSONALNAME like ‘汪%英‘ and length(PERSONALNAME) = 6
这样能匹配出来 汪法英 汪去英 等数据
匹配时间时格式可以用2014-07-25 15:56:00的 以下句子可以查到数据 但是不能用2014/07/25 15:56:00 这种形式 但是db2中可能存储的形式就是2014/07/25 15:56:00 这种的。
select * from T_BASICPERSONALCUSTOMERS WHERE UPDATETIME BETWEEN ‘2014-07-25 15:56:00‘ and ‘2014-07-25 19:11:37‘
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。