对Oracle中中文、数字混杂形式的字段进行排序的方法: 例如: order by NLSSORT(字段名,
对Oracle中中文、数字混杂形式的字段进行排序的方法:
例如:
NLSSORT() 函数:
如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的“二进制编码”顺序进行排序的。
可以使用NLSSORT()函数可以改变Oralce 对汉字的排序规则,排序规则如下(前三条对简体中文进行排序,后两条对繁体中文进行排序):
1. SCHINESE_RADICAL_M
简体中文按照第一顺序是“部首”、第二顺序是“笔画数”进行排序。
2. SCHINESE_STROKE_M
简体中文按照第一顺序“笔画数”、是第二顺序是“部首”进行排序。
3. SCHINESE_PINYIN_M
简体中文按照拼音进行排序。上例中即对简体汉字按照拼音进行排序。
4. TCHINESE_RADICAL_M
支持模板化设计,基于标签调用数据 支持N国语言,并能根据客户端自动识别当前语言 支持扩展现有的分类类型,并可修改当前主要分类的字段 支持静态化和伪静态 会员管理功能,询价、订单、收藏、短消息功能 基于组的管理员权限设置 支持在线新建、修改、删除模板 支持在线管理上传文件 使用最新的CKEditor作为后台可视化编辑器 支持无限级分类及分类的移动、合并、排序 专题管理、自定义模块管理 支持缩略图和图
0
繁体中文按照第一顺序是“部首”、第二顺序是“笔画数”进行排序。
5. TCHINESE_STROKE_M
繁体中文按照第一顺序是“笔画数”、第二顺序是“部首”进行排序。
TRANSLATE() 函数:
语法:TRANSLATE(char, from, to)
用法:将char中出现在from中的每个字符替换为to中的相应字符,若from比to字符串长,那么在from中比to中多出的字符将会被删除。三个参数中有一个是空,返回值也将是空值。
该函数可用于剔除字段中的汉字,,例:
分析:该语句要将 char--'例1213' 中出现在 from--'0123456789例1213' 中的字符替换为 to--'0123456789' 中的字符,根据 from、to 的对应关系,将 char 中的 0替换成0、1替换成1、...9替换成9,即 char 中的数字不变,又 from 比 to 长,则 from 中比 to 中多出的字符将被删除,即删除 char 中的汉字。

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号