zoukankan      html  css  js  c++  java
  • SQL如何实现自定义排序规则?

    --现有医院行政级别数据,需要由低(一乙)到高(三甲)排序
    CREATE TABLE #TEMP(NAME NVARCHAR(32))
    INSERT INTO #TEMP(NAME) VALUES('三甲')
    INSERT INTO #TEMP(NAME) VALUES('一乙')
    INSERT INTO #TEMP(NAME) VALUES('二甲')
    INSERT INTO #TEMP(NAME) VALUES('三乙')
    INSERT INTO #TEMP(NAME) VALUES('一甲')
    INSERT INTO #TEMP(NAME) VALUES('二乙')

    --CHARINDEX:返回字符串中指定表达式的起始位置
    SELECT * FROM #TEMP
    ORDER BY CHARINDEX(SUBSTRING(NAME,2,1),'乙甲'),
    CHARINDEX(SUBSTRING(NAME,1,1),'一二三四五六七八九十')

    --CHARINDEX 和 PATINDEX 函数都返回指定模式的开始位置。PATINDEX 可使用通配符,而 CHARINDEX 不可以。
    SELECT * FROM #TEMP
    ORDER BY PATINDEX('%'+SUBSTRING(NAME,2,1)+'%','乙甲'),
    PATINDEX('%'+SUBSTRING(NAME,1,1)+'%','一二三四五六七八九十')


    DROP TABLE #TEMP
  • 相关阅读:
    文件的基本操作
    ps工作界面
    HDU 6300
    HDU 6298
    HDU 2037
    HDU 2036
    Tesseract OCR
    What is the difference between position: static,relative,absolute,fixed
    How to Call a synchronize function asynchronizly in C#
    WCF note1
  • 原文地址:https://www.cnblogs.com/ZhouXiHong/p/617399.html
Copyright © 2011-2022 走看看