PL/SQL查询字段最后一个字符串无法显示

BrucesLong 2015-04-23 04:28:35
PL/SQL查询字段最后一个字符串无法显示(字段类型:NVARCHAR2(2));
如:
----实际数据
type
01
02
---sql命令查询时显示
type
0
0
--------------------------
是哪里配置有问题吗?麻烦大家帮助。

...全文
530 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-04-24
  • 打赏
  • 举报
回复
版本不一致
BrucesLong 2015-04-24
  • 打赏
  • 举报
回复
真诚感谢大家.
BrucesLong 2015-04-24
  • 打赏
  • 举报
回复
问题已解决 http://bbs.csdn.net/topics/390757363 ---解决方案 在plsql里的首选项-连接里有个选项: 在oci8上强制使用oci7, 把这个勾上
引用 10 楼 jdsnhan 的回复:
select type,length(type),lengthb(type),dump(type) from 你的表。 贴出结果
问题已解决 http://bbs.csdn.net/topics/390757363 ---解决方案 在plsql里的首选项-连接里有个选项: 在oci8上强制使用oci7, 把这个勾上
卖水果的net 2015-04-24
  • 打赏
  • 举报
回复
在别人的机器上没有问题,数据肯定是没有问题的 重装一个别的版本的 plsql developer 吧,估计重装同版本的,也不好用。
BrucesLong 2015-04-24
  • 打赏
  • 举报
回复
引用 9 楼 wmxcn2000 的回复:
[quote=引用 7 楼 BrucesLong 的回复:] [quote=引用 6 楼 wmxcn2000 的回复:]

-- 看看这个 AA 是显示的 A ,还是AA 
select type || 'AA' from dual 
显示'AA'[/quote] 你方便把这张表导出来吗? 怀疑这个表的数据有些问题。最后一个字符可能是个特殊字符。[/quote] ----------表结构---- ID CHAR(36) ID BANNERNAME VARCHAR2(50) Y 名称 TYPE NVARCHAR2(2) Y 类型(01:Web网站;02:App首页) ----------------- 就是type字段存的值查询时无法完整显示(显示'0'),在别人电脑上是可以完整显示的(显示'01');
BrucesLong 2015-04-24
  • 打赏
  • 举报
回复
引用 10 楼 jdsnhan 的回复:
select type,length(type),lengthb(type),dump(type) from 你的表。 贴出结果
type,length(type),lengthb(type),dump(type) 1 0 2 4 Typ=1 Len=4: 0,48,0,49 2 0 2 4 Typ=1 Len=4: 0,48,0,49 3 0 2 4 Typ=1 Len=4: 0,48,0,50 4 0 2 4 Typ=1 Len=4: 0,48,0,49 5 0 2 4 Typ=1 Len=4: 0,48,0,50 6 0 2 4 Typ=1 Len=4: 0,48,0,50 7 0 2 4 Typ=1 Len=4: 0,48,0,50
BrucesLong 2015-04-24
  • 打赏
  • 举报
回复
引用 8 楼 wildwave 的回复:
何以确定不会就是'0'呢 检查下数据,例如,用sqlplus执行,或用length函数计算下长度
---------- 实际存的数据就是01啊,旁边同事查询都是完整显示的;其他字段数据是显示完整的,就这有这个字段是这种情况
jdsnhan 2015-04-24
  • 打赏
  • 举报
回复
select type,length(type),lengthb(type),dump(type) from 你的表。 贴出结果
卖水果的net 2015-04-24
  • 打赏
  • 举报
回复
引用 7 楼 BrucesLong 的回复:
[quote=引用 6 楼 wmxcn2000 的回复:]

-- 看看这个 AA 是显示的 A ,还是AA 
select type || 'AA' from dual 
显示'AA'[/quote] 你方便把这张表导出来吗? 怀疑这个表的数据有些问题。最后一个字符可能是个特殊字符。
小灰狼W 2015-04-23
  • 打赏
  • 举报
回复
何以确定不会就是'0'呢 检查下数据,例如,用sqlplus执行,或用length函数计算下长度
BrucesLong 2015-04-23
  • 打赏
  • 举报
回复
引用 6 楼 wmxcn2000 的回复:

-- 看看这个 AA 是显示的 A ,还是AA 
select type || 'AA' from dual 
显示'AA'
卖水果的net 2015-04-23
  • 打赏
  • 举报
回复

-- 看看这个 AA 是显示的 A ,还是AA 
select type || 'AA' from dual 
Tiger_Zhao 2015-04-23
  • 打赏
  • 举报
回复
那么用#2的环境变量,注意还是要和服务器一致。
BrucesLong 2015-04-23
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:
增加环境变量 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
--------- 添加了, 无效
BrucesLong 2015-04-23
  • 打赏
  • 举报
回复
版本是:Version 8.0.0.1480
引用 楼主 BrucesLong 的回复:
PL/SQL查询字段最后一个字符串无法显示(字段类型:NVARCHAR2(2)); 如: ----实际数据 type 01 02 ---sql命令查询时显示 type 0 0 -------------------------- 是哪里配置有问题吗?麻烦大家帮助。
引用 1 楼 Tiger_Zhao 的回复:
oracle字符集,pl/sql客户端字符集修改
pl/sql字符集设置: 改会话端字符集,注册表方式: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 下 "NLS_LANG"="SIMPLIFIED CHINESE_CHINA.US7ASCII" 就是客户端的会话字符集,要和数据库的字符集保持一致,比如,如果数据库的字符集是US7ASCII,那么pl sql developer的所在机器的这个注册表值也应该是US7ASCII。 us7字符集:SIMPLIFIED CHINESE_CHINA.US7ASCII we8字符集:AMERICAN_AMERICA.WE8MSWIN1252 gbk字符集:SIMPLIFIED CHINESE_CHINA.ZHS16GBK --------------------------- “HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 ”注册表没有找到路径 版本是:Version 8.0.0.1480
卖水果的net 2015-04-23
  • 打赏
  • 举报
回复
增加环境变量 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧