[20150304]关于sql格式化问题.txt

简介: [20150304]关于sql格式化问题.txt --今天看书学习了sql格式化技巧。 --我以前遇到的sql语句很长,喜欢抽取在toad下格式化。一般格式化成如下。

[20150304]关于sql格式化问题.txt

--今天看书学习了sql格式化技巧。

--我以前遇到的sql语句很长,喜欢抽取在toad下格式化。一般格式化成如下。

SELECT empno,
       ename,
       job,
       mgr,
       hiredate,
       sal,
       comm,
       deptno
  FROM emp
WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd');

--这样的问题假设要取消不显示hiredate,一般修改如下:

SELECT empno,
       ename,
       job,
       mgr,
       --hiredate,
       sal,
       comm,
       deptno
  FROM emp
WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd');

--这种方式注解最后一个字段就有问题。
SELECT empno,
       ename,
       job,
       mgr,
       hiredate,
       sal,
       comm ,
       --deptno
  FROM emp
WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd');

--今天看书以及blog,才明白逗号在前面这样注解更加科学,实际上许多人都是这种模式。因为一般前面第1个字段很少选择注解。

SELECT empno
      ,ename
      ,job
      ,mgr
      ,hiredate
      ,sal
      ,comm
--    ,deptno
  FROM emp
WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd')


--这样注解最后1个字段就没有问题。

toad下如下修改呢?
view =>toad options ... => formatter
oracle formatter options=>List Arrangements=>, commas ,选择Leading风格就ok了。

如果select显示少于等于3个字段,显示如下:
SELECT empno, ename, job
  FROM emp
WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd')
 
--如果也想像上面这样,还可以修改参数
view =>toad options ... => formatter
oracle formatter options=>List Arrangements=>List Defaults ,List item的column修改为1。

但是这样的格式化如下:
SELECT empno
      ,ename
      ,job
  FROM emp
WHERE hiredate = TO_DATE ( :b1
                          ,'yyyy-mm-dd');

--我的建议还是保持不动。 List item的column修改为3。 (修改为2,也可以避免to_date折行)

SELECT empno, ename, job
  FROM emp
WHERE hiredate = TO_DATE ( :b1, 'yyyy-mm-dd');


另外把parentheses选择6.这样也是上面的原则:

/* Formatted on 2015/3/4 12:13:37 (QP5 v5.252.13127.32867) */
BEGIN
   SYS.DBMS_STATS.GATHER_TABLE_STATS
   (
      OwnName            => 'SCOTT'
     ,TabName            => 'DEPT'
     ,Estimate_Percent   => NULL
     ,Method_Opt         => 'FOR ALL COLUMNS SIZE 1 '
     ,Degree             => 4
     ,Cascade            => TRUE
     ,No_Invalidate      => FALSE
   );
END;
/

目录
相关文章
|
9月前
|
SQL 算法 Oracle
在线sql格式化工具
让SQL代码整洁如新,在线SQL格式化工具助力高效编程
300 1
|
9月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_75 重新格式化部门表
「SQL面试题库」 No_75 重新格式化部门表
|
SQL IDE Java
IDEA控制台如何查看格式化的SQL(MyBatis Log插件)
IDEA控制台如何查看格式化的SQL(MyBatis Log插件)
1519 0
|
SQL Oracle Java
Java中如何解析、格式化、生成SQL语句?
Java中如何解析、格式化、生成SQL语句?
|
SQL Java 关系型数据库
Java中如何解析SQL语句、格式化SQL语句、生成SQL语句?
JSqlParser是一个用Java编写的SQL解析器,可以将SQL语句解析为Java对象,从而使开发人员能够轻松地分析、修改和重构SQL查询。
832 0
|
SQL 关系型数据库 MySQL
MySql格式化日期和 时间( timestamp),自定义时间函数快速格式化 年月日,时分秒【注意SQL中大小写】
MySql格式化日期和 时间( timestamp),自定义时间函数快速格式化 年月日,时分秒【注意SQL中大小写】
487 0
MySql格式化日期和 时间( timestamp),自定义时间函数快速格式化 年月日,时分秒【注意SQL中大小写】
|
SQL 程序员
【Sql Server】查询七天内的数据之时间条件格式化
查询七天内的数据之时间条件格式化
259 0
【Sql Server】查询七天内的数据之时间条件格式化
DataGrip之一个赏心悦目的SQL格式化模板,快用起来吧
DataGrip之一个赏心悦目的SQL格式化模板,快用起来吧
DataGrip之一个赏心悦目的SQL格式化模板,快用起来吧
【每日SQL打卡】​​​​​​​​​​​​​​​DAY 14丨重新格式化部门表【难度中等】
【每日SQL打卡】​​​​​​​​​​​​​​​DAY 14丨重新格式化部门表【难度中等】
|
SQL 存储 前端开发
【Mysql】在tp5里边使用原生sql根据格式化时间获取数据
【Mysql】在tp5里边使用原生sql根据格式化时间获取数据
248 0