我有一个具有领先值和列空间值的记录。在DB表列中查找具有前导空格和尾随空格的值 - Oracle
如:列值' D0019 '
我想通过WHERE子句中这个特定列。
select * from my_table where my_column='D0019';
由于该值有空间,所以不会从where子句中检测到。
如何选择记录,即使它在值中具有前导和尾随空格?
我的DB是ORACLE
====================================== ==
UPDATE:
我得到的价值,只有当我尝试
select * from my_table where my_column like '%D0019%'
即使不' %D0019% '
================ =============================
更新2:
SELECT my_column ,DUMP(my_column) FROM my_table WHERE my_column like '%D0019';
输出是
" D0019" Typ=1 Len=6: 9,68,48,48,49,57
在查询中使用'trim(my_column)'。此函数删除前导和尾随空格。 – San 2014-11-24 11:11:10
@San trim对我不起作用。这就是为什么我在这里提出这个问题。我也不想用空间或类似条件检查值。我想找到删除空格的确切值。 – user2771655 2014-11-24 11:24:09
@ user2771655你可以试试这个并将输出粘贴到你的问题中吗? 'SELECT my_column,DUMP(my_column)FROM my_table WHERE my_column like'%D0019%';'我猜,它是标签空间或其他东西。我们来看看存储的'ascii'值。 – 2014-11-24 11:27:41