Oracle 中文字段按照拼音排序

Oracle9i之前,中文是按照二进制编码进行排序的。但oracle9以来,oracle的NLSSORT排序还是挻有意思的,它可以用来进行语言排序,不影响当前会话;例如按照拼音、部首、笔画排序功能只需设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序 Demo: SELECT * FROM 产品 ORDER BY NLSSORT(产品名称,'NLS_SORT = SCHINESE_RADICAL_M'); SELECT * FROM 产品 ORDER BY NLSSORT(产品名称,'NLS_SORT = SCHINESE_STROKE_M'); SELECT * FROM 产品 ORDER BY NLSSORT(产品名称,'NLS_SORT = SCHINESE_PINYIN_M');

 

转自:http://dilantaya20070723211817.iteye.com/blog/246592

你可能感兴趣的:(oracle,Blog)