DB2中,LONG VARCHAR 数据类型的使用会受到什么语句的限制呢?
2009-11-11 18:05
363 查看
DB2 中LONG VARCHAR 与VARCHAR 数据类型都用来存储长文本,但是它们之间的用法有很大不同。VARCHAR 与普通数据类型一样,要使用到bufferpool,在创建表时受制于最大的bufferpool page size,而LONG VARCHAR 则与LOB数据一样,有单独的存储区域,不需要使用bufferpool,所以在创建表时也不需要有大的bufferpool存在,在访问这些数据时,直接操作磁盘IO进行存取,所以速度更快。但LONG VARCHAR 数据类型的使用也相应受到限制,不能用在以下语句中:
DISTINCT
GROUP BY
ORDER BY
BETWEEN/IN
LIKE
子查询内部
列函数中
LONG VARCHAR 允许的数据最大长度为32700字节,VARCHAR 最大允许32672字节。在CLP与CE中操作LONG VARCHAR 会有一些不期盼的事情发生,比如对于长度大于8192字节的LONG VARCHAR列使用以下语句,会导致截断,并且不给出任何warning。
SELECT longvarchar FROM table;
使用以下语句也是不安全的,因为一旦列长度超出VARCHAR 允许的最大长度32672,语句将会失败。
SELECT VARCHAR(longvarchar) FROM table;
安全的写法是使用表达式CAST
SELECT CAST(langvarchar AS VARCHAR(32672)) FROM table;
以上内容适用于DB2 版本8以及版本9。
longvarchar 字段在where条件中可以用like,不能用=
转载请注明源自www.DB2China.net,请保留版权.
原文地址:http://www.db2china.net/club/thread-5227-1-1.html
DISTINCT
GROUP BY
ORDER BY
BETWEEN/IN
LIKE
子查询内部
列函数中
LONG VARCHAR 允许的数据最大长度为32700字节,VARCHAR 最大允许32672字节。在CLP与CE中操作LONG VARCHAR 会有一些不期盼的事情发生,比如对于长度大于8192字节的LONG VARCHAR列使用以下语句,会导致截断,并且不给出任何warning。
SELECT longvarchar FROM table;
使用以下语句也是不安全的,因为一旦列长度超出VARCHAR 允许的最大长度32672,语句将会失败。
SELECT VARCHAR(longvarchar) FROM table;
安全的写法是使用表达式CAST
SELECT CAST(langvarchar AS VARCHAR(32672)) FROM table;
以上内容适用于DB2 版本8以及版本9。
longvarchar 字段在where条件中可以用like,不能用=
转载请注明源自www.DB2China.net,请保留版权.
原文地址:http://www.db2china.net/club/thread-5227-1-1.html
相关文章推荐
- 使用变量 数据类型转换 逻辑控制语句(begin ...end; case...end; if...else; while)
- MySQL 中你应该使用什么数据类型表示时间?
- 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
- 使用正则表达式快速修改mysql中错误的varchar类型数据
- 使用 TOP 子句限制UPDATE 语句更新的数据
- MyBatis Generator(MBG)Oracle使用说明 公共同义词 LONG数据类型
- 数据表中有字段time(类型为varchar),如何通过sql语句找出这个字段里力离当前最近的一个日期
- C/C++——求下面数据类型的最大值和最小值: char, short, int, long, float, double, long double和numeric_limits使用
- mongodb基本操作,mongodb数据类型,mongodb中ddl和dml语句使用
- iOS开发-- 使用NSNumber将int、float、long等数据类型加入到数组或字典中
- Java基本语法--数据类型、运算符表达式、基本控制语句、数组使用以及练习
- 使用两个不同类型的数据进行加法计算时,使用异常处理语句捕获由于数据类型错误而出现的异常,发生生成错误。是否继续并运行上次的成功生成?
- MyBatis Generator(MBG)DB2使用说明 LONG VARCHAR 字段
- objective-c 使用NSNumber 将int float long等数据类型加入到数组或字典中
- Oracle 有long类型字段的表 使用insert into select 语句 ,出现:ORA-00997 错误
- Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用
- sparkSQL里 sql语句,dataframe,Thrift Server JDBC都可以实现对数据的查询,过滤等操作, 哪这3种情况分别是什么情况下使用
- DB2 中的LONG VARCHAR 类型
- request('id')语句,返回的是什么类型的数据
- 数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么?使用抽象数据类型的主要好处是什么?