oracle能设置float,Oracle - 將Varchar轉換爲Float並指定精度

我需要將varchar轉換爲float。 (該varchar保證是一個數字)Oracle - 將Varchar轉換爲Float並指定精度

我試圖在預建表的頂部創建一個物化視圖。因此,所有數據類型必須完全匹配......包括數據類型的精度和大小。原始列(在添加NVL之前)是從FLOAT數據類型以126的精度拉取的。當我嘗試將varchar轉換爲精度爲126的浮點數時,它似乎不包含126數據精度。我通過創建一個標準視圖來測試它不包含126數據大小,下面的查詢將其轉換爲float(126)。通過我的Toad IDE,我可以看到「ThisorThat 「浮柱是38)。

我只是更新我的物化視圖,象這樣一個NVL聲明...

Select Cast(NVL(thisFloat, thatFloat) as Float(126)) as ThisorThat

....

From tables;

我得到的錯誤「ORA-12060:預先建立的表的形狀不符合定義查詢」,因爲尺寸不同於我「預先構建」的原始表格。我需要以某種方式將varchar轉換爲顯式大小爲126的浮動。任何想法?

版本:Oracle 10g的

編輯: 這裏有一個link這基本上是我遇到同樣的事情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle的数据类型: 1、CHAR数据类型,该类型是固定长度的字符串,如果没指定大小,则默认占用一字节,如果输入的值小于指定的长度,则数据库用空格填充至固定长度,如果用户输入的值大于指定的长度,则数据库返回错误信息 2、varchar2,用于存储可变长度的字符串,使用该数据类型可节省磁盘空间,但存储效率没有CHAR高 3、NCHAR和nvarchar2,NCHAR和CHAR区别在于NCHAR用来存储Unicode字符集类型,即双字节字符数据,CHAR是一个字节,而NCAHR是一个字符(两个字节),前者是CHAR(1)无法插入‘的’,后者是NCHAR(1)可以插入‘的’ 4、NUMBER表示数值数据类型,NUMBER(P,S),P为精度,表示数据的总位数,S为范围,表示小数点右边数字的位数 5、DATE数据类型,使用7个字节固定长度,每个字节分别存储世纪,年,月,日 ,时,分,秒,ORACLE中SYSDATE函数的功能是返回当前的日期和时间 6、TIMESTAMP数据类型,和DATE相似,但是这个类型的秒精确到小数点后6位,而DATE没有秒的小数部分 7、LOB数据类型用于存储大型的,没有被结构化的数据,例如二进制文件,图片文件,LOB主要分为BLOB和CLOB,BLOB数据类型用于存储二进制对象:图像,音频,视频...CLOB数据类型用于存储字符格式的大型对象 8、ORACLE其实也支持INTEGER,FLOAT,DOUBLE,VARCHAR,最好用ORACLE自身的NUMBER 和 VARCHAR2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值