ORACLE中文排序及在table中指定位置增加字段_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2315 | 回复: 0   主题: ORACLE中文排序及在table中指定位置增加字段        下一篇 
    本主题由 koei123 于 2015-2-5 17:29:39 移动
ljss
注册用户
等级:新兵
经验:56
发帖:53
精华:0
注册:2012-1-19
状态:离线
发送短消息息给ljss 加好友    发送短消息息给ljss 发消息
发表于: IP:您无权察看 2014-12-26 11:09:43 | [全部帖] [楼主帖] 楼主

ORACLE中文排序方式
Oracle9i之前,中文是按照二进制编码进行排序的。
在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值
SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序
SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
SCHINESE_PINYIN_M 按照拼音排序
修改ORACLE字段的默认排序方式:
按拼音(默认): alter session set nls_sort = SCHINESE_PINYIN_M;
按笔画:alter session set nls_sort = SCHINESE_STROKE_M;
按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;

NLSSORT(),用来进行语言排序

拼音

SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_PINYIN_M')


笔划

SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_STROKE_M')


部首

SELECT * FROM TEAM ORDER BY NLSSORT(排序字段名,'NLS_SORT = SCHINESE_RADICAL_M')
------------------------------------------------------------------------------------------------------


增加列,默认在最后一列。

ALTER TABLE test ADD pName VARCHAR(20);
-------------------------------------------------------


Oracle在表中指定位置增加字段:

1. 新建别名表test2, 在指定位置添加列(占位置:d as pName)。

create table test2 as select d as pName, d from test


2. 清空新增字段的值。

update test2 set pName=null


3. 修改字段的类型。

alter table test2 modify(pName varchar2(20))


4. 删除原来的表test。

drop table test


5. 重命名表为test。

rename test2 to test
==========================================


查看表的结构

desc test


就可以向列里添加值了。

update test set pName='test'


--转自 北京联动北方科技有限公司

该贴由koei123转至本版2015-2-5 17:29:39



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论