RT
分为显示转换和隐式转换。有木有哪位曾经专门针对oracle做过类似测试的,希望能讨论下,
重点是oracle提供的机制中不完善,比如说手册规定是不能进行任何转换的,但是oracle会
在某种特定的情况下转换了,导致不好的后果。
或者大家谁有关于这个的资料能给大家分享下,谢谢~

解决方案 »

  1.   

    我先举个例子,当我们比较character和NUMBER类型的时候,oracle通常会将character类型转换为number类型,并且通常不会有什么问题。
    但是,当我们试图将CHARACTER/NUMBER向FLOAT类型转换的时候,就会出现不稳定的情况。
    大家可以自己测试下
    create table tb1(f1 BINARY_FLOAT);
    然后分别插入字符、整数、浮点数进去,然后看看结果显示什么。
    究其原因,character/number在oracle中是以十进制形式表示的,而浮点数却是以二进制形式表示的