ITPub博客

首页 > 数据库 > Oracle > Oracle空串问题

Oracle空串问题

原创 Oracle 作者:htyro 时间:2012-05-04 10:29:49 0 删除 编辑
最近一个项目涉及到从SQLSERVER 2008往ORACLE 10G移植存储过程,就碰到了一个空串的问题。

我们知道,当对数据列定义char类型时,在输入的数据长度不足时,会自动补空格,但是在调用的时候则会自动将空格去掉,这样在访问数据选择过滤条件的时候就不需要严格的输入'字符  ‘这样的形式,而只需要输入'字符'。

对于char类型,在SQLSERVER和ORACLE上处理方式都一样,不需要用trim类似的函数来去空格。

对于varchar类型,则有区别了,在SQLSERVER里面,处理方式同char。

但是在ORACLE里面,则区别很大,在定义了一个varchar类型的列之后,输入'a'和'a '
在查询的时候用条件 where xxx='a',只能查询一条记录,'a '是查询不出来的,也就是说 varchar类型的数据在ORACLE里面取出来的时候不会自动去空格。

这个区别很重要,会导致从SQLSERVER移植过来的存储过程所获取的数据与原来不一致,特在这里记录一下。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22166274/viewspace-722695/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-07-22

  • 博文量
    12
  • 访问量
    85724