oracle 中的cast函数,Oracle cast函数对用户数据进行类型转换
一、cast函数
cast函数的作用是对用户输入的数据进行数据类型转换,比如用户数据的数据时number类型,小数位数是3位,我们可以将用户数据转换成整形数据int类型。
cast函数的格式是cast(数据源 as 待转换的数据类型)
比如我需要将number数据类型的13.658转换成int类型的整数类型
SQL> select cast(13.658 as int) from dual;
CAST(13.658ASINT)
---------------------------------------
14
通过上图我们可以看见,cast对number数据类型的数据进行四舍五入操作后保存成整形数据;
上面的效果类似于round函数。
但是cast函数作用的结果并不作用于数据库表结构,仅仅用户数据显示。举例如下:
--info表的数据记录如下:
SQL> select * from info;
SNO SNAME
--------------------------------------- --------------------
1 lilei
2 dushuai
3 caolirong
--info表字段结构
desc info
Name Type Nullable Default Comments
----- ------------ -------- ------- --------
SNO INTEGER
SNAME VARCHAR2(20) Y
--我们使用cast函数对sno字段进行数据类型转换,转换成number(8,4)
SQL> select cast(sno as number(8,4)) from info;
CAST(SNOASNUMBER(8,4))
----------------------
1.0000
2.0000
3.0000
--但是重新查找info表,结果如下
SQL> select * from info;
SNO SNAME
--------------------------------------- --------------------
1 lilei
2 dushuai
3 caolirong
--使用update函数进行info表更新
SQL> update info set sno=cast(sno as number(3,2)) where sno=1;
1 row updated
SQL> commit;
--重新查找info表,结果如下
SQL> select * from info;
SNO SNAME
--------------------------------------- --------------------
1 lilei
2 dushuai
3 caolirong
如果想利用cast函数实现数据类型的转换,可以考虑在基表的基础上创建视图或者新建另外一张表的方式。下例为在基表的基础上创建视图进而实现改变数据类型的目的:
SQL> create or replace view v_info as select cast(sno as number(3,2)) as v_sno from info;
View created
SQL> select * from v_info;
V_SNO
-----
1.00
2.00
3.00
SQL> desc v_info;
Name Type Nullable Default Comments
----- ----------- -------- ------- --------
V_SNO NUMBER(3,2) Y
SQL> desc info
Name Type Nullable Default Comments
----- ------------ -------- ------- --------
SNO INTEGER
SNAME VARCHAR2(20) Y
oracle 中的cast函数,Oracle cast函数对用户数据进行类型转换相关推荐
- oracle中的NVL,NVL2,NULLIF,COALESCE函数使用
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...
- oracle8i substr,Oracle中的INSTR,NVL和SUBSTR函数的用法详解
Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR ...
- oracle中trim,ltrim,rtrim函数用法(简单易懂)
oracle中trim,ltrim,rtrim函数用法 用法一.去空格 函数 作用 TRIM TRIM()去除指定字符串的前后空格 LTRIM LTRIM()去除指定字符串的前面空格 RTRIM RT ...
- oracle中的guid,在Oracle中使用Guid
在Oracle中使用Guid 在Oracle中使用Guid 在Oracle中可以用SYS_GUID()来生成一个guid,相当于msSql中的newid(). 在Oracle9i和Oracle 10g ...
- oracle中负数的四舍五入,oracle中round()四舍五入
oracle中round()四舍五入 语法: Round 函数 语法为ROUND(number,num_digits) 其中Number是需要进行四舍五入的数字:Num_digits为指定的位数,按此 ...
- oracle中的几大对象,oracle 4个大对象(lobs)类型介绍
oracle 4个大对象(lobs)类型介绍 在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob. 下面是对lob数据类型的简单介绍. blob:二进 ...
- oracle数据库insert into,oracle中insert into用法 oracle中insert如何带条件添加数据?
oracle insert into 脚本怎么写 INSE INTO BOOK(bookid,name,price) VALUES('100123','oracle ',54); 或者 INSE IN ...
- oracle中reverse,REVERSE关键字之REVERSE函数-Oracle
REVERSE关键字之REVERSE函数 昨天说到@dbsnake讲的一个reverse函数索引避免全表扫描的案例,REVERSE关键字可以用于函数和索引.REVERSE函数和REVERSE索引.这次 ...
- oracle中pga指什么,oracle学习SGA跟PGA理解
SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:数据库缓冲区.日志缓冲区.共享池,还可能包含:大池,JAVA ...
最新文章
- Linux那些事儿之我是Sysfs(9)sysfs文件系统模型
- Tip#66:你知道吗?如何在输入属性值时自动插入双引号
- 【强化学习】DQN及其延伸算法
- mysql+sql+子查询语句_SQL子查询
- 第十五周项目1-打入“内部”寻“内幕”
- 连接第二个 insance 到 first_local_net - 每天5分钟玩转 OpenStack(83)
- Android应用中,去掉Activity标题栏以及状态栏
- 登录界面拦截java_java拦截通过url访问页面,必须通过登录页面访问目标页面
- 【华为云实战开发】12.如何在云端快速开展Swagger接口测试
- lambda表达式可以用来声明_lambda表达式可以用来创建包含多个表达式的匿名函数...
- linux php ldap_linux php ldap安装配置的方法
- 润乾报表 - 细节问题
- 架构之美第六章-建筑师的角色
- 嵩天python_跟着北京理工大学嵩天老师学习Python
- Kafka性能监控与优化
- BZOJ3772精神污染——可持久化线段树+出栈入栈序
- 手机外放没有声音_手机外放没声音,插入耳机有声音
- 化工原理计算机辅助设计,化工原理课程设计总结与体会
- 互相关函数以及Matlab仿真
- qt 多线程、信号槽、moveToThread等机制之拨乱反正
热门文章
- redhat指定ntp服务器,rhel5.5 NTP服务器搭建
- 工程流体力学笔记暂记20 (速度势与流函数的求解)
- python什么是数据分析_python数据分析是什么
- 计算机无法显示界面,电脑屏幕什么都不显示怎么解决_电脑画面不显示是什么问题-win7之家...
- Element el-input 输入框详解
- HTTP 中为什么会有 OPTIONS 请求?
- JavaScript 回调函数/Promise/ async/await
- v57.02 鸿蒙内核源码分析(编译过程) | 简单案例说透中间过程 | 百篇博客分析HarmonyOS源码
- 【学霸笔记】数据结构基础知识大全
- SCRIPT5: 拒绝访问。Excel文件在IE下导不出来