文档章节

Oracle数据类型隐式转换和显示转换

王大叔爱编程
 王大叔爱编程
发布于 2014/12/15 17:04
字数 456
阅读 45
收藏 0


隐式数据类型转换:


隐式数据类型转换的不足之处:

#1,通常来将,pl/sql是静态类型语言,如果程序执行了隐式数据类型转换,就会失去静态语言的一些好处,如代码的清晰和安全。

#2,每次pl/sql执行隐式类型转换,都意味着你对程序的控制能力有所减弱,无论这个失控有多小。你并没有执行转换动作,只是假设转换会发生,并且假设这个转换会达到预期期望,但通常这种假设是存在风险的,如果Oracle改变了转换的执行方式或触发环境或者数据本身不在符合你的预期,代码就会有影响。

#3,pl/sql隐式转换依赖执行环境的上下文,而pl/sql所执行的结果不一定是我们所希望的。

#4,如果你在需要进行类型转换的地方用到了显式转换,你的代码会更容易理解和阅读,这种转换本身也说明了表和表之间以及代码和表之间数据类型的差异,通过去掉代码中假设和潜在的动作,同时也去掉了可能的误解。


显式数据类型转换:


© 著作权归作者所有

共有 人打赏支持
王大叔爱编程

王大叔爱编程

粉丝 34
博文 111
码字总数 61053
作品 0
成都
程序员
私信 提问
SQL优化常用方法44

避免改变索引列的类型. 当比较不同数据类型的数据时, ORACLE自动对列进行简单的类型转换.假设 EMPNO是一个数值类型的索引列. SELECT … FROM EMP WHERE EMPNO = ‘123' 实际上,经过ORACLE类型...

inzaghi1984
2017/12/17
0
0
SQL Server 内置转换函数介绍

SQL Server 在表的字段中使用数据类型来存储特定类型的值,比如数字、日期、或文本。数据类型也会在函数中被使用,比如一些数学表达式。 但是在使用数据类型时有一个问题,就是通常它们之间的...

oschina
2016/01/04
2.5K
1
PostgreSQL Oracle兼容性之 - '' 空字符

标签 PostgreSQL , Oracle , 兼容性 , ''空字符 , 隐式NULL转换 背景 Oracle 对''有一些特殊的处理,默认会转成NULL。使得''可以适合任意的数据类型。 然而对于PostgreSQL来说,没有做这层转......

德哥
2018/06/29
0
0
PostgreSQL Oracle兼容性之 - text - text隐式转换

标签 PostgreSQL , Oracle , 兼容性 , text减text操作符 背景 Oracle的两个文本详见,会自动转换为数值进行相减操作。 PostgreSQL默认并不会将文本转换为数值进行相减操作。 为了实现兼容,有...

德哥
2018/06/29
0
0
oracle 查询不走索引的范例分析

like 后%位置不走索引问题 查询字段类型与表字段类型不一致导致隐式转换,不走索引问题 另:不要用select '*' from........写select 星号时,oracle会查询数据字典再转换成具体的列名,增加o...

rm_rf_db
2018/01/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux下find、awk、sed、grep命令的例子

find:搜索工具 # 列出当前目录及子目录下所有文件和文件夹find .# 在/home目录下查找以.txt结尾的文件名,-i表示忽略大小写find /home -iname "*.txt" find命令的详细介绍 awk:数据快...

吴伟祥
35分钟前
1
0
flink的Async I/O 异常处理

异常 Async function call has timed out1.3+AsyncFunctionflink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/functions/async/AsyncFunction.java@Public......

stys35
47分钟前
2
0
sql plus入门

用sqlplus操作数据库的基本步骤: #su - oracle $sqlplus / as sysdba >!ps -ef|grep ora #查看oracle进程,看看oracle是否已经启动,如果未启动则使用下面这条语句启动. >startup #启动oracl...

突突突酱
今天
1
0
kettle10 利用java代码解压gz格式文件

kettle默认只能解压zip格式的文件,比如linux里的tar、gz等格式的文件需要用到java代码来解压 在java代码里引入需要的包,要返回的变量 java代码如下 import java.io.BufferedInputStream;...

wells杨
今天
2
0
Wince之旅——设备控制(重启网卡为例)

其实根据我的实践,在wince下面重启网卡其实十分简单,直接把驱动程序和网卡分离然后再绑定一次就好了。怎么绑定呢。就是一个函数DeviceIoControl和底层通信下。 方法1 :把第二个参数设为I...

rainbowcode
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部