oracle - 常用函数用法

阅读更多

 

TRUNK用法分为两种:

 

一、按照指定的格式截取日期

 

       语法格式如下:

             TRUNK(date[,fmt])

       其中:

             date  -- 相应的日期值

             fmt    -- 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去。

 

        例子:

            SQL>   select   trunc(sysdate,'mm')   from   dual;  

            结果:2009-3-1
            SQL>   select   trunc(sysdate,'yy')   from   dual;  

            结果:2009-1-1
            SQL>   select   trunc(sysdate,'dd')   from   dual;  

            结果:2009-3-4

            SQL>   select   trunc(sysdate,'D')   from   dual;              

            结果:2009-3-1

 

二、按照指定的格式截取数字

 

     语法格式如下:

             TRUNK(number[,decimals])

 

  其中:
         number 待做截取处理的数值
         decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分

 

      例子:

  TRUNC(89.985,2)=89.98
  TRUNC(89.985)=89
  TRUNC(89.985,-1)=80
  注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记

 

 

DECODE用法:

decode (expression, search_1, result_1)

decode (expression, search_1, result_1, search_2, result_2)

decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)

 

decode (expression, search_1, result_1, default)

decode (expression, search_1, result_1, search_2, result_2, default)

decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)

 

decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。

 

 

取指定表的字段列表:

 

    使用场景:

               在查询数据和编写SQL的时候,需要遍历表的所有字段,一个一个写费时又容易出错。

 

     高效做法:

 

              select column_name||','    from user_tab_columns
              where table_name=UPPER('&table_name' )
              order by column_id;

 

 

 

 

 

 

 

你可能感兴趣的:(Oracle,SQL)