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";
    }
    
  • 相关阅读:
    springboot maven打包插件
    maven打包指定main入口插件
    团队开发环境一致性性要求
    springboot 在idea中实现热部署
    IDEA 2018.1可用License服务(持续更新)
    IDEA打jar包
    3月18号
    3月17号
    3月16号
    3月13号
  • 原文地址:https://www.cnblogs.com/tangyouwei/p/13323298.html
Copyright © 2011-2022 走看看