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
  • 相关阅读:
    .net软件开发工程师面试题
    html笔记
    好用软件
    谷歌插件
    vue笔记
    js笔记
    数组去重
    css全局样式
    css笔记
    vscod插件
  • 原文地址:https://www.cnblogs.com/ZhouXiHong/p/617399.html
Copyright © 2011-2022 走看看