工作中常用SQL技巧

38 阅读1分钟

1、类型转换

to_char() 转换charcast("" as date) 转成date型
也可用 ::后跟类型 强转  如 ::character varying

2、子查询

withas (子查询语句)
多个子查询间,用 , 号连接

3、对查询结果作处理

SUBSTRING(值,起,终) 截取结果
COALESCE(值,‘’)当值为空返回‘’ 可用作处理null使用
NULLIF(值1,值2) 值1NULL时 返回值2
ROUND(值) 作四舍五入
CASE
   WHEN  条件
     THEN 结果1
     
     ELSE 结果2
     END   最结果作条件判断处理
   
   当条件较多时,
   CASE
      WHEN 条件1 THEN 结果1
      WHEN 条件2 THEN
        CASE 
            WHEN 条件2.1 THEN 结果2.1
            WHEN 条件2.2 THEN 结果2.2
            WHEN 条件2.3 THEN 结果2.3
        ELSE
           CASE
              WHEN 条件3.1 THEN 结果3.1
            ELSE 结果3.2
            END
           END
          ELSE 结果3
         END 

4、视图

DROP VIEW 视图名 删除视图
CREATE OR REPLACE VIEW 视图名 as (查询语句)  创建视图
当表连接较多时,使用视图是一个提高效率,便于sql维护的一个好方法。
视图建可以建立连接关系

在创建一个视图时,可以从另外一个视图查询(主,从视图),但注意,主视图删除时,要先处理从视图,删除主,从关系。