Oracle使用cast() 函数的一个BUG

今天在用Oracle时无意发现一个小问题,就是使用cast函数转换类型时,出现文字被截断现象,现贴出来,如下:

Select  Cast(‘未填写‘ As Nvarchar2(16)) As Hg  From Dual

Select  Cast(‘未填写内容‘ As Nvarchar2(16)) As Hg  From Dual

 Select  Cast(‘未填写什么‘ As Nvarchar2(16)) As Hg  From Dual

结论:部分中文被截断,比如测试用的‘请选择’,‘无核管’,而‘是什么’可以正常显示,已排除长度和字符集的问题,其它varchar,varchar2,nvarchar类型无此问题。

时间: 2024-10-26 23:41:14

Oracle使用cast() 函数的一个BUG的相关文章

oracle中CAST函数使用简介

CAST()函数可以进行数据类型的转换. CAST()函数的参数有两部分,源值和目标数据类型,中间用AS关键字分隔. 以下例子均通过本人测试. 一.转换列或值 语法:cast( 列名/值 as 数据类型 ) 用例: 1).转换列 --将empno的类型(number)转换为varchar2类型. select cast(empno as varchar2(10)) as empno from emp; EMPNO ---------- 7369 7499 7521 ... 2).转换值 --将字

Oracle,cast函数

cast(要转换的值 AS 转换的类型): 问题:'            ' as FSubBillNo 若用此法 oracle 默认字段类型为char型 且字段长度度为输入空格的长度,会导致字符串超长或者关联其他表时不匹配. 解决:1:关联其他表时可用字符串处理函数处理关联: 2:直接在创建临时表时将其转为varchar2类型: cast(要转换的值 AS 转换的类型).

Oracle CAST() 函数 数据类型的转换

CAST()函数可以进行数据类型的转换. CAST()函数的参数有两部分,源值和目标数据类型,中间用AS关键字分隔. 以下例子均通过本人测试. 一.转换列或值 语法:cast( 列名/值 as 数据类型 ) 用例: 1).转换列 --将empno的类型(number)转换为varchar2类型. select cast(empno as varchar2(10)) as empno from emp; EMPNO----------736974997521... 2).转换值 --将字符串转换为

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) ----------------------------------

由一个bug引发的SQLite缓存一致性探索

问题 我们在生产环境中使用SQLite时中发现建表报“table xxx already exists”错误,但DB文件中并没有该表.后面才发现这个是SQLite在实现过程中的一个bug,而这个bug与数据字典的一致性相关,下面这篇文章主要讨论SQLite的缓存机制,以及缓存一致性实现的策略,希望对大家了解SQLite缓存机制有一定的帮助. 缓存 SQLite中缓存主要包括两方面,数据字典缓存和数据页缓存.SQLite本身是一个文件数据库,所有的数据都在一个DB文件中,文件以块(page)的形式

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

Ibatis2.3.4的一个bug

java.lang.ClassCastException: com.chat.upgrade.domain.ClientFile cannot be cast to java.lang.String 今天查一个对象转化成json串报错的问题,查了两个小时,最后问题的根源居然是ibatis. ibatis的语句如下: <typeAlias alias="Client" type="com.chat.upgrade.domain.ClientFile"/>

Oracle时间日期函数

ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month

Oracle集合操作函数:union、intersect、minus

[转]Oracle集合操作函数:union.intersect.minus 集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINUS.当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配. 集合操作符具有以下注意事项: 集合操作符不适用于LOB.VARRAY和嵌套表列. UNION.INTERSECT.MINUS操作符不使用于 LONG列. 如果选择列表中包含有表达式或者函数,那么必须为表达式或者函数定义列别名. 1.U