- 浏览: 611501 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
niuqiang2008:
谢了谢了 就是要找这个问题
struts2的<s:set><s:if>标签应用 -
love_zongming:
赞一个! 谢谢分享
向eclipse中添加user library的方式 -
MyPointOne:
后面的异常为什么出现?好像没说清楚!
Jboss中的web-console与jmx-console的配置 -
nysin:
顶一个,现在明白了...
JAVA静态和非静态内部类 -
chenhua_1984:
很不错!
Cause: net.sf.cglib.beans.BulkBeanException异常
今天难得有点小时间,实际操作了一下关于oracle数据库中的字符集和排序相关的命令,特此整理出来,以备后用。
SQL> select * from v$nls_valid_values where parameter='CHARACTERSET' order by 2; PARAMETER VALUE ---------------------------------------------------------------- ----------------------- CHARACTERSET AL16UTF16 CHARACTERSET AL24UTFFSS CHARACTERSET AL32UTF8 SQL> select * from nls_database_parameters; PARAMETER VALUE ------------------------------ --------------------------------------- NLS_LANGUAGE AMERICAN--合法的语言名称 NLS_TERRITORY AMERICA--合法的地域名称 NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET ZHS16GBK--数据库字符集 NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR--日期格式 NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY--排序方式 NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY--和排序相关的东东,具体是什么不清楚 NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE NLS_NCHAR_CHARACTERSET AL16UTF16--国家字符集 NLS_RDBMS_VERSION 10.1.0.2.0 已选择20行。 已用时间: 00: 00: 00.03 SQL> create table char_t(c1 varchar2(8),c2 nvarchar2(8)); 表已创建。 已用时间: 00: 00: 00.21 SQL> select dbms_metadata.get_ddl('TABLE','CHAR_T') FROM DUAL; DBMS_METADATA.GET_DDL('TABLE','CHAR_T') -------------------------------------------------------------------------------- CREATE TABLE "SCOTT"."CHAR_T" ( "C1" VARCHAR2(8), "C2" NVARCHAR2(8) ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" 已用时间: 00: 00: 05.15 SQL> INSERT INTO char_t values('a','a'); 已创建 1 行。 已用时间: 00: 00: 00.01 SQL> commit; 提交完成。 已用时间: 00: 00: 00.00 SQL> select length(c1),length(c2),lengthb(c1),lengthb(c2) from char_t; LENGTH(C1) LENGTH(C2) LENGTHB(C1) LENGTHB(C2) ---------- ---------- ----------- ----------- 1 1 1 2 已用时间: 00: 00: 00.00 SQL> insert into char_t values('中','中'); 已创建 1 行。 已用时间: 00: 00: 00.00 SQL> select length(c1),length(c2),lengthb(c1),lengthb(c2) from char_t; LENGTH(C1) LENGTH(C2) LENGTHB(C1) LENGTHB(C2) ---------- ---------- ----------- ----------- 1 1 1 2 1 1 2 2 已用时间: 00: 00: 00.00 SQL> insert into char_t values('遽','遽'); 已创建 1 行。 已用时间: 00: 00: 00.01 SQL> select length(c1),length(c2),lengthb(c1),lengthb(c2) from char_t; LENGTH(C1) LENGTH(C2) LENGTHB(C1) LENGTHB(C2) ---------- ---------- ----------- ----------- 1 1 1 2 1 1 2 2 1 1 2 2 已用时间: 00: 00: 00.01 至于一个VARCHAR2字符要用几个字节存储,要看数据库使用的字符集, 比如GBK,汉字就会占两个字节,英文1个,如果是UTF-8,汉字一般占3个字节,英文还是1个。 而NCHAR、NVARCHAR是以UNICODE-16存储,每个字符固定两个字节。 SQL> select hiredate from emp; HIREDATE ------------ 17-DEC-80 20-FEB-81 22-FEB-81 02-APR-81 28-SEP-81 SQL> show user; USER is "SCOTT" SQL> alter session set nls_language='simplified chinese' 会话已更改。 已用时间: 00: 00: 00.01 SQL> select hiredate from emp; HIREDATE -------------- 17-12月-80 20-2月 -81 22-2月 -81 02-4月 -81 已用时间: 00: 00: 00.01 查看session中支持的语言名称 1* select * from v$nls_valid_values where parameter='LANGUAGE' order by 2 QL> / ARAMETER VALUE --------------------------------------------------------------- --------------------------- ANGUAGE AMERICAN ANGUAGE ARABIC ANGUAGE ASSAMESE ANGUAGE AZERBAIJANI ANGUAGE BANGLA ANGUAGE BENGALI ANGUAGE BRAZILIAN PORTUGUESE 查看合法的地域名称 SQL> select * from v$nls_valid_values where parameter='TERRITORY' order by 2; PARAMETER VALUE ---------------------------------------------------------------- -------------------------- TERRITORY ALGERIA TERRITORY AMERICA TERRITORY AUSTRIA TERRITORY AZERBAIJAN TERRITORY CANADA TERRITORY CATALONIA TERRITORY CHILE TERRITORY CHINA 查看合法的排行名称 SQL> select * from v$nls_valid_values where parameter='SORT' order by 2; PARAMETER VALUE ---------------------------------------------------------------- ----------------------- SORT SCHINESE_PINYIN_M SORT SCHINESE_RADICAL_M SORT SCHINESE_STROKE_M 查看当前会话的排行模式(系统默认的排行方式是:BINARY): SQL> select value from nls_session_parameters where parameter='NLS_SORT'; VALUE -------------------------------------------------------------------------------- BINARY 修改排行方式的测试: SQL> alter session set nls_sort='SCHINESE_PINYIN_M'; 会话已更改。 已用时间: 00: 00: 00.00 SQL> select * from sort_tab order by 1; C ---------- 啊 藏--这个是个多音字,在此处oracle把他当cang了。 木 目 人 三 一 已选择7行。 已用时间: 00: 00: 00.01 SQL> alter session set NLS_SORT='SCHINESE_STROKE_M';--按照笔划(第一顺序)、部首(第二顺序)排序 会话已更改。 已用时间: 00: 00: 00.09 SQL> select * from sort_tab order by 1; C ---------- 一 人 三 木 目 啊 藏 已选择7行。 已用时间: 00: 00: 00.00 SQL> alter session set NLS_SORT='GBK'; 会话已更改。 已用时间: 00: 00: 00.01 SQL> select * from sort_tab order by 1; C ---------- 啊 藏 木 目 人 三 一 已选择7行。 已用时间: 00: 00: 00.00 SQL> alter session set NLS_SORT='SCHINESE_RADICAL_M';--按照部首(第一顺序)、笔划(第二顺序)排序 会话已更改。 已用时间: 00: 00: 00.04 SQL> select * from sort_tab order by 1; C ---------- 一 三 人 啊 木 目 藏 已选择7行。 已用时间: 00: 00: 00.01 SQL> ALTER SESSION SET NLS_SORT=BINARY;--按字符的二进制值比较 会话已更改。 已用时间: 00: 00: 00.00 SQL> select * from sort_tab order by 1; C ---------- 啊 藏 木 目 人 三 一 已选择7行。 已用时间: 00: 00: 00.01 注意:如果NLS_SORT不是设置为"Binary",那么就会引起全表扫描, 是不会使用索引的,在我们的系统中变更单涉及到的数据都是数据庞大的表, 如果不使用到索引,查询的效率不受到影响才怪呢! 修改数据库字符集: alter database "orcl" character set ZHS16CGB231280; 修改国家语言字符集: alter database "orcl" national character set ZHS16CGB231280;
发表评论
-
Tomcat6.x + P6spy + SqlProfiler集成
2013-05-07 15:57 1198具体内容见附件!! -
SYBASE数据库总结
2010-11-02 15:57 2486SYBASE中插入数据的方式有: 1. INSERT IN ... -
ORACLE导入数据文件到指定的表空间
2010-08-10 21:28 9092最近工作中碰见ORACLE导入数据文件到指定的表空间中的事,虽 ... -
oracle中的merge
2010-06-23 14:22 1205本文来源于: http://www.c ... -
oracle temporary table
2010-06-23 14:13 1226oracle临时表 本文引用于 ... -
Cannot create PoolableConnectionFactory 异常
2010-05-25 13:52 6300今天在巡检服务器的时候,发现了如下异常信息: org.apac ... -
DBMS_RANDOM.VALUE OR DBMS_RANDOM.STRING
2010-04-20 15:42 2230ORACLE中随机数的包的源文件目录是:{ORACLE_HOM ... -
索引的合并、重建与监视
2010-03-30 10:25 2272查看当前用户的所有索引: SQL> select ind ... -
ORACLE数据库冷备份
2010-03-29 17:50 1763一:先构建数据库冷备 ... -
ORACLE中约束的禁用和启用
2010-03-29 15:14 5124查看表TEST_PHONE_TAB的元数据: SQL> ... -
oracle主键和外键
2010-03-25 16:11 5380主键和外键 CREATE TABLE "SCOTT ... -
SQLLDR高级用法
2010-03-22 17:57 3079load data infile * into table I ... -
外部表
2010-03-21 15:47 1628在使用oracle数据库时,对oracle中的外部表的操作只能 ... -
case when
2010-03-15 21:24 0ORACLE 分类统计符合各个条件的个数 (case when ... -
级联删除
2010-02-05 13:49 1410--create table a and b --主表 ... -
oracle中关于查看角色与角色间权限的差异的SQL语句
2010-01-05 22:06 2267前段时间看了一些oracle的书,现在把书中一些关于角色,权限 ... -
自己的记录
2009-12-29 21:54 0oracle定义游标变量: TYPE v_cursor is ... -
oracle系统表空间system和sysaux使用率很高
2009-12-14 19:31 4427今天忽然看见自己的oracle数据库的系统表空间system, ... -
solaris上安装oracle
2009-11-19 17:50 1894今天在solaris上安装oracle10g的时候,系统提示s ... -
Oracle的参数文件和服务器参数文件
2009-11-08 15:46 1627在ORACLE中通过存在的参数文件创建服务器参数文件 因为s ...
相关推荐
在处理多语言数据时,Oracle提供了NLSSORT参数来调整排序规则,同时配合使用NLS_LANG环境变量来设定客户端的字符集和排序规则,确保数据的一致性。 总结,Oracle字符集是数据库管理的关键部分,理解和正确配置字符...
Oracle 字符集是数据库系统中一个至关重要的概念,它决定了数据如何被编码、存储和解析。Oracle 支持多种字符集,以满足不同地区和语言的需求。本文将深入探讨 Oracle 字符集的查看、修改以及相关知识。 首先,...
**Oracle 字符集** 是指 Oracle 数据库系统中用于解释字节数据的一组符号集合。Oracle 支持多国语言架构,这使得用户能够在不同的语言环境下存储、处理及检索数据。这一功能不仅包括基本的数据存储,还涉及到了...
Oracle字符集是数据库管理系统Oracle中用于存储和处理文本数据的关键组件。它定义了数据库能够识别和存储的不同字符的集合,包括字母、数字、符号以及特殊字符。深入理解Oracle字符集对于数据库管理员、开发人员和...
在Oracle数据库中,字符集不仅涉及到数据的存储,还涉及到排序规则、日期和货币格式等本地化设置。本文将深入探讨Oracle字符集的原理、查询方法以及如何处理字符集不一致的问题。 首先,Oracle字符集是一个定义了...
Oracle数据库字符集问题总结主要关注的是在数据迁移和交互时由于字符集差异导致的问题。字符集是决定数据库如何解释和存储字符的规则集合,对于Oracle数据库来说,它直接影响到数据的正确性和兼容性。 首先,Oracle...
Oracle字符集是指在Oracle数据库中用于存储和处理文本数据的一组符号及这些符号的编码方式。字符集对于确保数据正确显示和存储至关重要,尤其是在处理多语言或多区域数据时。Oracle支持多种字符集,包括单字节字符集...
Oracle字符集是数据库系统中用于表示文本数据的一种编码方式,它是Oracle数据库为了支持多种语言和文化环境而设计的重要特性。Oracle字符集不仅包含了常见的ASCII字符,还包含了各种国家和地区的特殊字符,使得用户...
Oracle字符集是数据库管理系统Oracle中用于编码和解析字符的关键组件,它定义了如何存储和显示各种语言的文字。字符集有大小之分,并且存在包容关系,即某些字符集是其他字符集的子集,比如us7ascii是zhs16gbk的子集...
3. `orannzsbb12.dll` 和 `orannzsbb10.dll`:这些是Oracle的网络排序规则库,用于在网络传输过程中处理数据排序和比较。 4. `oraocci12d.dll` 和 `oraocci12.dll`,以及 `oraocci10.dll`:这是Oracle Call ...
Oracle字符集是数据库管理系统Oracle中用于定义和理解数据的一个关键概念。字符集是一个字节数据的解释集合,它决定了数据库如何存储和显示字符。Oracle支持多种国家语言,使其能够适应不同地区和语言环境的需求,...
Oracle字符集是数据库管理系统Oracle中用于表示和存储文本数据的关键组件。它决定了如何将字符转换为二进制数据,以及如何从二进制数据还原字符。Oracle字符集分为多个类别,包括单字节编码和多字节编码,以支持全球...
Oracle 字符集是 Oracle 数据库中一个非常重要的概念,正确的字符集设置可以确保数据的正确性和一致性。本文对 Oracle 字符集的概念、种类和查询方法进行了详细的介绍,并对 Oracle 字符集乱码问题进行了分析和解决...
### Oracle数据库中汉字排序方法 在Oracle数据库中处理中文数据时,经常需要对包含中文字符的数据表...通过以上内容的学习与实践,我们可以有效地在Oracle数据库中实现汉字排序功能,从而更好地管理和利用中文数据。
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容联系。ORACLE 支撑国家语言的体系结构允许你运用本地化语言来存储,处理,检索数据。它使数据库工具,不正确消息,排序次序,日期,时间,货币...
总之,Oracle的多国语言支持和字符集设置是其全球化功能的基础,正确理解和管理这些设置对于数据库的正常运作和数据完整性至关重要。处理跨字符集的导出/导入问题需要对字符集有深入理解,并可能涉及二进制文件的...
MySQL支持多种字符集,如latin1、utf8、utf8mb4等,每种字符集对应特定的排序规则(collation),影响数据的比较和存储。 #### 字符集的配置与相关命令 通过修改my.cnf或my.ini配置文件中的`character_set_server`...
除了常规的SQL排序,Oracle还提供了一些高级功能,如窗口函数,它们允许在特定的数据窗口内进行排序和计算。例如,RANK()、DENSE_RANK()和ROW_NUMBER()函数可以为每个分组内的行分配一个唯一的排名,这对于分组后的...