zoukankan      html  css  js  c++  java
  • 数据库中文排序注意事项

    SQL Server

    默认写法如果首行有空格或者生僻字会排在最前面,需要做下面的处理

    select fd_id,doc_subject
    from kms_knowledge_base_doc 
    ORDER BY ltrim(doc_subject) COLLATE Chinese_Simplified_Pinyin_100_CI_AS
    

    HQL写法

    // 排序字段首行有空格的情况
    if(orderBy.contains("kmsKnowledgeBaseDoc.docSubject")){
        orderBy = orderBy.replace("kmsKnowledgeBaseDoc.docSubject","trim(kmsKnowledgeBaseDoc.docSubject)");
    }
    

    另外,ifnull在hql中的使用

    // 后台置顶列表排序
    if ("top".equals(dataType)) {
    	if (driverClass.equals("oracle.jdbc.driver.OracleDriver"))
    		orderByIndex = "nvl(kmsKnowledgeBaseDoc.docIsIndexTop,0) desc";
    	else
    		orderByIndex = "coalesce(kmsKnowledgeBaseDoc.docIsIndexTop,0) desc";
    } else {
    	// oracle数据库字段数据为null的问题
    	if (driverClass.equals("oracle.jdbc.driver.OracleDriver"))
    		orderByIndex = "nvl(kmsKnowledgeBaseDoc.docIsIndexTop,0) desc,kmsKnowledgeBaseDoc.fdSetTopTime desc";
    	else
    		orderByIndex = "coalesce(kmsKnowledgeBaseDoc.docIsIndexTop,0) desc,kmsKnowledgeBaseDoc.fdSetTopTime desc";
    }
    
  • 相关阅读:
    快速幂 快速乘法
    扩展欧几里得学习笔记
    求逆序数数目(树状数组+离散化)
    隐式图的遍历
    随机数生成
    推倒重来
    动态规划初步
    子集生成
    东大oj1155 等凹函数
    P1278 单词游戏
  • 原文地址:https://www.cnblogs.com/tangyouwei/p/13323298.html
Copyright © 2011-2022 走看看