`
zzz200100
  • 浏览: 35356 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

数据库中文字段排序语句

    博客分类:
  • SQL
 
阅读更多
中文按照拼音字母排序

  • 1.1 使用 Oracle 数据库 数据库,可以使用以下方法:

引用
使用 Oracle 数据库,可以使用以下方法: nlssort()这个是函数,stock_holder 是字段名


//-- 按拼音排序 (系统默认) 
select * from T_0303003 order by nlssort(stock_holder,'NLS_SORT=SCHINESE_PINYIN_M'); 

/**
微软用户1]: 批注 [微软用户 nlssort()这个是 微软用户 函数,stock_holder 是字段名 重要的一点:这个是 SQL 语句, 如果是在 Hibernate 中写 HQL 语句。 这个函数 Hibernate 中也能支持。 。
*/

//-- 按部首排序 
select * from T_0303003 order by nlssort(stock_holder,'NLS_SORT=SCHINESE_RADICAL_M'); 

//-- 按笔画排序 
select * from T_0303003 order by nlssort(stock_holder,'NLS_SORT=SCHINESE_STROKE_M'); 




  • 1.2 使用 Mysql 数据库:


引用
如果在数据端使用排序直接用 order by 即可.
如果数据库是使用 UTF-8 则使用下面这个语句:



select name from test1order by convert(name using gb2312) desc; 
// 如果使用了 MySQL 数据库而又需要中文排序,则先把数据取出来再程序中排序.
// 如: 先定义: 
Comparator demo = new Comparator(){
    public int compare(Object arg0, Object arg1) {
        return Collator.getInstance(Locale.CHINESE).compare(arg0, arg1);
    }
};
Collections.sort(list,demo); 


/**
微软用户2]: 批注 [微软用户 数据库编码必须 微软用户 是 GBK 
微软用户3]: 批注 [微软用户 Convert 是 MySQL 微软用户 数据库的方法,name 是字段名 但是 Hibernate 不支持此方法… 
微软用户4]: 批注 [微软用户 获得需要比较的 微软用户 语种 
微软用户5]: 批注 [微软用户 Compare 方法比较 微软用户 出来的结果:大于 0、等于 0、小于 0 
微软用户6]: 批注 [微软用户 此方法后你需要 微软用户 排序的 list 容器就按照上文的内部匿 名函数规则排序: list 就是需要中文排序的容器,demo 就是上文定义的内部函数(java 自带 的) ,list 中只能是字符或是字符串、 数字,不能是对象,对象容器需要转 换(有待研究).. 
*/



  • 1.3使用SQL Server数据库:

引用
使用 直接order by (数据库可以排序,使用 数据库可以排序,使用HQL语句时需要测试。。 语句时需要测试。 直接 语句时需要测试 。)



select * from collate dbo.tbl_aqjg_hidden_info t order by t.info_type3;

/**
Chinese_PRC_CS_AS_KS_WS collate 是关键字,Chinese_PRC_CS_AS_KS_WS是排序规则: 摘抄于网页中) 是关键字, 是排序规则: (摘抄 是排序规则 (摘抄于网页中)前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。 

排序规则的后半部份即后缀 含义: _BIN 二进制排序 _CI(CS) 是否区分大小写,CI不区分,CS区分 _AI(AS) 是否区分重音,AI不区分,AS区分 _KI(KS) 是否区分假名类型,KI不区分,KS区分 _WI(WS) 是否区分宽度 WI不区分,WS区分 区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。 

区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项, 比较还将重音不同的字母视为不等。 

区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。 区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。
*/




来源:网络
分享到:
评论

相关推荐

    Mysql数据库+多表之间的数据同步SQL语句+多字段排序语句

    Mysql数据库+多表之间的数据同步SQL语句+多字段排序语句

    修改SQL数据库排序规则修改表栏位排序规则

    修改SQL数据库排序规则修改表栏位排序规则 修改SQL数据库排序规则: 1.修改为单用户模式 2.然后关闭所有的查询窗口,修改Options的Collocation属性,如:Chinese_PRC_90_CI_AS 3.再修改为多用户模式 修改表栏位...

    SQL_Sever数据库语句大全.zip

    获取某个字段排序的行号 获取数据库所有表和视图的信息 获取月份的月初月末时间 禁用启用触发器 判断是否存在视图(创建视图) 启用服务器配置功能权限 求Avg平均值 求max最大值、min最小值 去除左右空格函数 日期...

    ACCESS数据库常用SQL语句[参考].pdf

    SELECT 语句的执行过程为:Microsoft Jet 数据库引擎会搜索指定的表,并提取出选定的列,再选择出符合条件的列,然后按指定的顺序对得到的行进行排序或分组。SELECT 语句不会更改数据库中的数据。 在 SELECT 语句中...

    PHP100视频教程 9:数据库中的常用SQL语句.rar

    排序语句:order by 字段,字段 ASC / DESC 指针查询:limit 初始值,结束值 计算:  COUNT(*) 统计函数  MAX(*) 最大值函数  MIN (*) 最小值函数  AVG(*) 平均值函数  SUM(*) 累计值函数(∑) 3、...

    sql语句生成器+支持各大数据库+说明书

    排序(Order By) 条件(Where) 分组(Group By) 分组条件(Having) 计算字段 SQL查询表 SQL查询子句 丰富的函数 表别名 字段别名(包括计算字段和非计算字段) 联合(Union,对于Oracle 支持Union All,Minus,Intersect) ...

    SQL SERVER 数据库实用SQL语句

    本文总结了 SQL SERVER 数据库中的一些实用 SQL 语句,涵盖了排序、分页、获取当前数据库信息、查询某一个表的字段和数据类型、事务处理、全文匹配查询、计算执行 SQL 语句查询时间等方面。 一、排序 在 SQL ...

    sql语句获取数据库中的数据库表列.doc

    SQL 语句获取数据库中的数据库表列 数据库管理系统中,获取...通过使用这些 SQL 语句,我们可以轻松地获取数据库中的数据库表列信息,包括所有数据库的名称、所有表的名称、所有字段的名称和说明、表中字段信息等等。

    Oracle 中文字段进行排序的sql语句

    1)按笔画排序 select * from Table order by nlssort(columnName,’NLS_SORT=SCHINESE_STROKE_M’) 2)按部首排序 select * from Table order by nlssort(columnName,’NLS_SORT=SCHINESE_RADICAL_M’) 3)按拼音...

    Sql Server获取SQL所有数据库名、所有表名、所有字段名.docx

    这条语句将从 Master 数据库中的 SysDatabases 表中获取所有数据库名,并按照名称排序输出。 二、获取所有表名 获取所有表名可以使用以下 SQL 语句: `Select Name FROM SysObjects Where XType='U' ORDER BY ...

    数据库操作语句大全(sql)

    数据库操作语句大全(sql) 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_...

    学生选课数据库SQL语句练习题(详细分解答案).doc

    该查询使用了SELECT语句,选择了所有字段,从Score表中查询所有记录,并按照Cno字段升序、Degree字段降序排序。 9. 查询“95031”班的学生人数。 该查询使用了SELECT语句,选择了COUNT(*)字段,从Student表中查询...

    生成多字段排序分页的SQL的通用类

    如果的单一字段排序分页,现在有很多的存储过程和SQL语句,分页的时候,只取pageSize的记录,可遇见的问题是: 这个单一字段必须是唯一的 这个字段必须是可以被排序的 不支持多字段排序 针对这一问题,我用C#做了一...

    易语言操作数据库教程之EDB教程

    4.EDB 不支持SQL语句 SQL语句:增 删 改 查(比较复杂点 排序 多表查询 过滤)。3.创建EDB数据库。如果往EDB里面放图片的话。会生成一个EDT格式的数据库存放我们的图片。4.打开数据库。增 删 改 查。1.进行增加数据。2....

    MYsql 数据库0基础SQL语句实战精讲.docx

    4、查询列表可以是:字段、表达式、常量、函数等 10 1、加法运算 12 2、拼接符 12 3. 排序查询 13 4. 分组查询 15 5. 条件查询 19 1、按关系表达式筛选 20 2、按逻辑表达式筛选 20 3、模糊查询 20 6. 分组函数 25 7....

    oracle 查询表字段明细、字段注释、表注释

    该语句将查询指定用户的所有表的表明细、表注释、字段明细、字段注释等信息,并将结果按照表名和字段名排序。 Oracle 提供了多种方式来查询表字段明细、字段注释、表注释等信息。通过使用系统视图和系统表,我们...

    关于数据库的基本操作二

    数据库基本操作二 数据库是当前信息化社会中最重要的数据存储和管理...排序语句用于对查询结果进行排序,例如,Select * from teacher order by name语句将查询teacher表中的所有记录,并按照name字段进行升序排序。

    mysql数据库精华.doc

     //从数据表中读取“字段名=字段值”的所有字段并根据字段名排序【倒序】  sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"  //从数据表中读取“字段名中包含字段值”的所有...

    数据库练习三答案.doc

    在数据库练习三答案中,我们可以看到多个排序语句的使用,例如: * select top 3 * from 课程表 order by 学分 desc * select top 3 课程名称,学分 from 课程表 order by 学分 asc 三、分组 分组是数据库查询中一...

    spl常用语句.pdf

    ORDER BY语句用于对查询结果进行排序。例如: ```sql SELECT * FROM 表名 ORDER BY `id` DESC ``` 这条语句将对表名按 `id` 降序排列。 6. LIMIT语句 LIMIT语句用于限制查询结果的数量。例如: ```sql SELECT * ...

Global site tag (gtag.js) - Google Analytics