与半角空格Oracle数据库中全角空格与半角空格之比较(oracle全角空格)
全角与半角空格是不同类型的空格,日常使用中应注意不要混淆。Oracle数据库中,全角空格与半角空格具有明显的区别,如果不正确使用它们可能出现一些意想不到的结果。
在Oracle数据库中,全角空格的编码值为12288,而半角空格的编码值为32.一般情况下,全角空格可用做字符的间隔、行尾的空格等,而半角空格则可用作单词之间的分隔符。
另外,在使用like查询语句时,如果原始字段中有半角空格,记得要使用全角空格,否则不找到符合条件的记录:
例如,原始字段x中有字段值”abc def”,查询时使用如下语句:select * from tbl where x like ‘%abc def%’。
这时,结果可能不如预期,使用类似的语句:select * from tbl where x like ‘%abc def%’,即将半角空栽替换成全角空格,则可以正常查询出符合条件的结果。
除了like查询外,如果将全角空格用在其它类型的SQL查询语句中,也会出现一些不可预料的结果。比如,在length函数中计算字符串长度时,可以用如下语句:
length(‘ abc ‘),结果为5.
123
length(‘ abcd ’),结果为6,这说明全角空格也被计算到了字符串长度之内。
通过以上内容,可以看出,在Oracle数据库中,全角空格与半角空格具有明显的区别,使用时应该谨慎,否则可能会出现一些无法预料的结果。