Cast类型转换字符过长可能被截断
来源:互联网 发布:sas程序员招聘 编辑:程序博客网 时间:2024/05/22 03:51
在使用Cast函数进行类型转换时,如果仅指定转换类型而没有指定长度,字符过长可能被截断。
例:
select cast(',1,2,3,4,8,9,10,11,12,13,14,15,16,17,18' as varchar)
结果:',1,2,3,4,8,9,10,11,12,13,14,15'
select cast(',1,2,3,4,8,9,10,11,12,13,14,15,16,17,18' as varchar(50))
结果:',1,2,3,4,8,9,10,11,12,13,14,15,16,17,18'
select SQL_VARIANT_PROPERTY(cast(',1,2,3,4,8,9,10,11,12,13,14,15,16,17,18' as varchar(50)),'MaxLength')
发现查询中默认该类型最大长度为30。
联机帮助相关说明:
大值数据类型表现出与小值数据类型相同的隐式和显式转换行为,特别是 varchar、nvarchar 和 varbinary 数据类型。但是,应该考虑以下原则:
- 从 image 到 varbinary(max) 的转换与反向转换是隐式转换,text 与 varchar(max)、ntext、nvarchar(max) 之间的转换也是隐式转换。
- 从大值数据类型(如 varchar(max))到小值数据类型(如 varchar)的转换是隐式转换,但如果大值相对于指定长度的小值数据类型显得太大,则产生截断。
- 从 varchar、nvarchar 或 varbinary 到其相应的大值数据类型的转换都是隐式执行的。
- 从 sql_variant 数据类型到大值数据类型的转换是显式转换。
- 大值数据类型不能转换为 sql_variant 数据类型。
截断结果和舍入结果
将字符或二进制表达式(char、nchar、nvarchar、varchar、binary 或 varbinary)转换为其他数据类型的表达式时,可截断数据,仅显示部分数据,或返回错误(因为结果太短而无法显示)。除了下表显示的转换,其他到 char、varchar、nchar、nvarchar、binary 和 varbinary 的转换都将被截断。
- Cast类型转换字符过长可能被截断
- hibernate 类型转换 CAST
- cast : 强制转换类型
- Sql Cast 类型转换
- sqlite CAST 转换类型
- cast强制类型转换
- 服务器由iis转换为apache出现字符被截断
- 数据转换时字符被截断的问题
- mysql 字符转换,cast,concat 字符转换
- 使用 Excel ODBC driver读取超过255的字符,数据可能被截断
- MYSQL 类型转换函数 CAST
- ORACLE类型转换函数 CAST
- java基础:类型转换cast
- textView中文本过长被截断的解决方案
- Android 4.0 Notification内容过长被截断,无法完整显示
- XML解析小记之防止数据过长被截断
- PHP返回内容过长时被nginx截断的解决办法
- 标准C++的类型转换符:static cast、dynamic cast、reinterpret cast和const cast
- placement new还是不要乱用的好,如果是用来处理数组,记得多申请4个字节
- 高度注意并警惕 placement new [] 的陷阱
- 关于:JNI WARNING: illegal start byte 处理
- Oracle spool 用法小结
- Linux下用gSOAP开发Web Service服务端和客户端程序
- Cast类型转换字符过长可能被截断
- [OpenCore] Android的多媒体框架OpenCore介绍
- Ogre中设置渲染性能参数
- 优化算法--以Python实现(2)
- Java常用的设计模式
- 使用NetBeans IDE进行python编程: ImportError: No module named pygtk
- magento如何去掉分类url中的父目录
- 5种方法解除开机密码
- 回顾2010