• sql中的一些通用函数


    1. SQL中使用case,when,then

    SELECT 
    CASE TYPE 
        WHEN 1 THEN '正常' 
        WHEN 2 THEN '密码错误'
    ELSE '不正常' END '状态'
    FROM tbl_user 

    或者

    SELECT 
    CASE 
        WHEN TYPE <> 1 THEN '正常' 
        WHEN TYPE = 1 THEN '密码错误' END '状态'
    FROM tbl_user 

    需要注意的是: 最后必须有end,可以有else也可以没有。

    2. UNION和UNION ALL

    在写SQL的时候。偶尔会用到两个表的数据结合在一起返回的,就需要用到UNION 和 UNION ALL,有的时候有些数据的存储可能涉及到分库分表,查询的时候,可能需要查询所有的分表,这个时候,也需要用到UNION或者UNION AL。

    union操作符:用于合并两个或多个SELECT语句的结果集,这里需要注意的是:UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条SELECT语句中列的顺序必须相同。

    并且需要注意的是:UNION和UNION ALL连接的语句,算是一个sql,只能有一个order by 语句,如果你需要两个sql都进行排序之后合并在一起,就需要使用子查询,将查询的语句再次查询一遍,然后进行合并!!

    SELECT name FROM user UNION  SELECT name FROM user1 //得到的结果就是:分别从user表和user1表中查询name字段,然后合并到一起。

    union all :如果需要去重,那么就使用union all

    SELECT * FROM 
    (SELECT top 1 left(convert(varchar(100),RECEIVE_TIME,108 ),5) receiveTime, '0' restoreTime,unit_code,unit_name
        FROM T_FILE_RECEIVE_RECORD WHERE UNIT_CODE = '123123' and convert(char(100),RECEIVE_TIME,23)='2018-10-06' ORDER BY RECEIVE_TIME DESC 
    ) table1 
    UNION ALL 
    SELECT * FROM 
    (SELECT top 1  '0' receiveTime, left(convert(varchar(100),RESTORE_TIME,108 ),5) restoreTime,unit_code,unit_name
    FROM T_FILE_RESTORE_RECORD WHERE UNIT_CODE = '123123' and convert(char(100),restore_time,23)='2018-10-06' ORDER BY restore_time DESC
    ) table2
  • 相关阅读:
    【POJ 2406】Power Strings(KMP循环节)
    【HDU 3746】Simpsons’ Hidden Talents(KMP求循环节)
    【CodeForces 672B】Different is Good
    【UVALive 4642】Malfatti Circles(圆,二分)
    【POJ 1269】判断两直线相交
    【POJ 2503】Babelfish(字符串)
    ZOJ 2676 Network Wars[01分数规划]
    A1261. happiness(吴确)[二元组暴力最小割建模]
    poj3469 Dual Core CPU
    2154: Crash的数字表格
  • 原文地址:https://www.cnblogs.com/chenmc/p/9390676.html
Copyright © 2020-2023  润新知