我写的存储过程里要把一个表的一个字段内容赋给定义的一个变量,当内容超过800个字符时,变量的值就是(Long value)。
部分代码如下:v_sql varchar2(2000) := '';
select tmp_text into v_sql from sd_tmp;sd_tmp表里只有一行数据。且这行数据tmp_text的内容有1076个字符。不知道为什么v_sql的结果是(Long value)。请问如何才能正确赋给变量?
部分代码如下:v_sql varchar2(2000) := '';
select tmp_text into v_sql from sd_tmp;sd_tmp表里只有一行数据。且这行数据tmp_text的内容有1076个字符。不知道为什么v_sql的结果是(Long value)。请问如何才能正确赋给变量?
解决方案 »
- 这个存储过程该怎么写?
- DBCA安装数据库的问题
- alter table table1 cache有啥用啊?
- 错在哪?
- 字符显示问题:在打开sql8i---sql*worksheet后在下方查询后显示的区域中显示的都是乱码,可菜单中都还是中文问该如何调整字符?
- [在线等]ORACLE触发器编译错误,到底是我那地方写错了?
- 征求oracle的sql语句中一个数字字符串求值函数例如字符串‘136138978254’求的各个数字相加的和,谢谢了
- 请问哪位有有关SQL语言叙述文档,最好是英文版的
- 为什么会出错?是版本太低吗?
- oracle 导致CPU使用率只升不降达到100%
- oracle如何计算插入字段串的长度
- 我用PLSQL Developer登陆oracle总是进不去?
varchar2(2000)就是1000个汉字
如果是utf-8的,1000个都没有,有些会是三个字节的
这是国家字符集的问题utf-8
utf-16一个是3个字节一个是2个字节
发表于:2008-06-10 12:34:034楼 得分:0
我的SESSION字符集是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,这有什么问题? 4楼这个数据库字符集而且是客户端字符集体*.dmp都有字符集不同的区别字符集知识博大还得必须掌握
var str varchar2(2000):='长度为2000的字符串......';
再执行下面这句sql
select :str from dual。
结果是没错的