order by 按汉字排序
时间: 2024-06-20 22:03:09 浏览: 18
在 SQL 中,ORDER BY 用于对查询结果进行排序。如果想按汉字进行排序,则可以使用 COLLATE 子句,指定一个中文排序规则。例如,可以使用 COLLATE Chinese_PRC_CS_AS_KS_WS 来按照中文拼音排序,其中 CS 表示大小写敏感,AS 表示区分重音符号,KS 表示按照偏旁部首排序,WS 表示忽略空格。具体的使用方式可以参考下面的例子:
```
SELECT * FROM mytable ORDER BY mycolumn COLLATE Chinese_PRC_CS_AS_KS_WS;
```
这条语句将会按照 mycolumn 列的值进行排序,使用 Chinese_PRC_CS_AS_KS_WS 中文排序规则。
相关问题
orcale order by 排序规则
在Oracle中,使用ORDER BY子句可以对查询结果进行排序。排序规则可以通过设置NLS_SORT参数来指定。在Oracle 9i中,新增了按照拼音、部首、笔画排序的功能。
具体的排序规则如下:
- SCHINESE_RADICAL_M:按照部首(第一顺序)、笔划(第二顺序)排序。
- SCHINESE_STROKE_M:按照笔划(第一顺序)、部首(第二顺序)排序。
- SCHINESE_PINYIN_M:按照拼音排序,系统的默认排序方式为拼音排序。
举个例子,假设有一个表名为dept,其中的name字段是中文。可以使用以下语句实现按照单位名称的笔划、部首和拼音排序:
1. 按照笔划排序:SELECT * FROM dept ORDER BY nlssort(name, 'NLS_SORT=SCHINESE_STROKE_M');
2. 按照部首排序:SELECT * FROM dept ORDER BY nlssort(name, 'NLS_SORT=SCHINESE_RADICAL_M');
3. 按照拼音排序(默认排序方式):SELECT * FROM dept ORDER BY nlssort(name, 'NLS_SORT=SCHINESE_PINYIN_M')。
需要注意的是,当被排序的栏位存在NULL值时,可以使用NULLS FIRST或NULLS LAST来指定NULL值排在最前面或最后面。具体的处理方法可以参考Oracle相关文档。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [ORACLE ORDER BY 排序规则](https://blog.csdn.net/wozengcong/article/details/9453047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出](https://download.csdn.net/download/weixin_38654380/13701342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [oracle使用order by排序null值如何处理](https://download.csdn.net/download/weixin_38617604/12834767)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
querywrapper.orderbyxxx()排序中文如何不忽略空格
在使用querywrapper.orderbyxxx()进行排序时,如果希望不忽略中文字符串中的空格,可以使用COLLATE关键字来指定排序规则。具体操作如下:
1. 在orderbyxxx()函数中,使用COLLATE关键字加上指定的排序规则,比如:
```
querywrapper.orderbyxxx().collate('Chinese_PRC_Stroke_CI_AS')
```
2. 'Chinese_PRC_Stroke_CI_AS'是一种中文排序规则,它会将空格视为有效字符进行排序。如果需要其他排序规则,可以根据实际需求选择合适的规则。
通过这种方式,可以实现在排序中不忽略中文字符串中的空格。请注意,具体的排序规则可能因数据库类型和版本而有所差异,建议根据实际情况进行调整和测试。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)