`
doch2000
  • 浏览: 2992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle中nvarchar2字符集不匹配

 
阅读更多
oracle当多表union时遇到nvarchar2类型时报错 字符集不匹配
对使用nvarchar的地方,加上 to_char( nvarchar 的变量或字段 )

如:
select to_char(name),price from aa
union all
select  to_char(name),price from bb



3张表aa,bb,cc都有 name price 字段 查询价格最高的前3位姓名

select * from(select to_char(name),price from aa
union all
select  to_char(name),price from bb
union all
select to_char(name),price from cc  order by price desc)where rownum<=3



【注意】
VARCHAR2是Oracle提供的特定数据类型,Oracle可以保证VARCHAR2在任何版本中该数据类型都可以向上和向下兼容。
VARCHAR在Oracle中不建议使用。


具体到NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则

1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。

2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。 

分享到:
评论

相关推荐

    oracle10g字符集的查看与修改.doc

    在Oracle 10g中,数据库字符集是在创建数据库时设定的,一般不建议后期修改。数据库字符集决定了CHAR、VARCHAR2、CLOB、LONG等数据类型的存储格式,同时也影响表名、列名和PL/SQL变量的表示。国家字符集(NATIONAL ...

    Oracle字符集问题

    Oracle字符集是数据库管理系统Oracle中处理字符数据的关键组成部分,它定义了如何存储和显示各种语言的字符。Oracle字符集问题通常出现在数据库创建、数据输入、数据传输或在不同字符集的系统之间交互时。理解Oracle...

    ORACLE数据库字符集设置

    ### ORACLE数据库字符集设置详解 ...通过合理设置字符集,可以避免许多由于字符集不匹配引起的问题。此外,在开发过程中,还需要注意客户端与服务器端之间的字符集一致性,以确保数据的正确性和完整性。

    ORACLE字符集浅析——异种字符集数据库间的数据存取方法探讨.pdf

    Oracle字符集是数据库管理系统Oracle中的一个关键概念,用于定义数据的编码方式,使得数据库能够存储和处理各种语言的字符。本文主要探讨了在不同字符集的Oracle数据库间如何有效地进行数据存取。Oracle的全球化支持...

    oracle 字符集

    在Oracle数据库管理中,正确设置字符集是非常重要的一步,它直接影响到数据的正确存储与检索。本文将围绕“Oracle字符集”这一主题,详细解析Oracle字符集的基本概念、设置方法以及常见问题,帮助读者更好地理解和...

    Oracle字符集的查看和修改.pdf

    Oracle字符集是数据库系统中用于表示和存储文本数据的关键组件。它决定了数据库如何理解和处理各种语言的字符,包括特殊符号和非拉丁字母。Oracle支持多种字符集,以满足全球化的应用需求。以下是关于Oracle字符集的...

    Oracle字符集的查看和修改[参考].pdf

    在Oracle数据库中,数据库字符集是在创建时指定的,通常不可更改,用于存储CHAR、VARCHAR2、CLOB、LONG等类型的数据,以及表名、列名和PL/SQL变量。国家字符集是一个附加的字符集,用于NCHAR、NVARCHAR2、NCLOB等...

    导出/导入与字符集之间问题的解决

    Oracle数据库的多国语言设置是其支持全球多样化的关键特性,允许系统处理各种语言、货币格式、排序方式以及CHAR、VARCHAR2、CLOB和LONG字段中的数据。这涉及到两个核心概念:国家语言设置和字符集设置。 国家语言...

    Oracle 12c安装中文乱码解决方案口口口口口口口口口口

    Oracle数据库默认采用的是ASCII字符集,对于非英文字符(如中文),如果不进行特殊设置,可能会导致乱码的出现。在Oracle 12c的安装过程中,系统可能没有正确地识别和配置支持中文的字符集,因此在显示中文时会出现...

    深入Oracle字符集的查看与修改详解

    在处理字符集问题时,需要注意字符集的兼容性,特别是当进行数据迁移或交互时,确保源和目标数据库的字符集匹配或者源字符集是目标字符集的超集,以避免数据丢失或乱码。例如,WE8ISO8859P1是WE8MSWIN1252的子集,这...

    Oracle数据库多语言文字存储解决方案.docx

    2. **统一客户端和服务端字符集**:确保客户端和服务端采用相同的字符集,避免因字符集不匹配导致的数据乱码问题。 3. **使用NLS_LANG参数**:合理配置NLS_LANG参数,以便在多语言环境中正确处理文本数据。 4. **...

    如何处理错误ORA-29275:部分多字节字符

    2. **字符集设置不当**:如果数据库服务器的字符集设置与客户端的应用程序或操作系统使用的字符集不匹配,也可能引发此错误。 3. **数据输入错误**:人为地将超过字段长度限制的多字节字符输入到VARCHAR2字段中。 ...

    mysql数据导入到Oracle中

    - **数据类型匹配**:MySQL和Oracle的数据类型有所不同,需要进行相应的映射,例如MySQL的VARCHAR2对应Oracle的VARCHAR2,DATE类型在两者间也有所不同。 - **权限设置**:确保在目标Oracle数据库中拥有足够的权限来...

    jdbcoracle(多国语言支持)

    1. 配置数据库:在Oracle数据库中,通过修改NLS_LANG环境变量或在数据库实例级别设置NLS参数,可以指定数据库使用的字符集和语言设置。 2. JDBC连接字符串:在建立JDBC连接时,可以在URL中包含charset参数,指定连接...

    EXCEL文件导入到ORACLE数据库[定义].pdf

    这是因为Oracle服务器和客户端的字符集不匹配。为了检查当前字符集,可以执行以下查询: - Oracle服务端字符集: ```sql SELECT parameter, value FROM nls_database_parameters WHERE parameter = 'NLS_...

    HibernateOracle

    当Hibernate在Oracle数据库中插入或查询包含中文的数据时,如果数据库、应用程序、以及数据库连接的字符集设置不一致,就可能导致乱码问题。 在给出的描述中,我们看到环境配置如下: - 框架:Struts + Tomcat 5.0 ...

    oracle数据库中汉字排序方法

    1. **字符集问题**:在使用`SCHINESE_PINYIN_M`排序时需要注意数据库的字符集设置。如果数据库字符集为GBK,则可以直接使用该排序规则;如果是UTF-8,则需要确保数据库配置支持UTF-8编码。 2. **性能考量**:不同...

    oracle_sql笔记

    Oracle支持多种数据类型,如VARCHAR2(可变长度字符串)、NUMBER(数值类型)、DATE(日期时间)、BLOB(二进制大对象)等。理解这些数据类型对于正确存储和处理数据至关重要。 三、表与索引 在Oracle中,表是数据...

Global site tag (gtag.js) - Google Analytics