Informix SQL函數的詳細用法

來源:互聯網
上載者:User
函數
Informix SQL函數的詳細用法

一、內建函式
  1、內部合計函數
    1)COUNT(*)          返回行數
    2)COUNT(DISTINCT COLNAME)   返回指定列中唯一值的個數
    3)SUM(COLNAME/EXPRESSION)   返回指定列或運算式的數值和;
    4)SUM(DISTINCT COLNAME)    返回指定列中唯一值的和
    5)AVG(COLNAME/EXPRESSION)   返回指定列或運算式中的數值平均值
    6)AVG(DISTINCT COLNAME)    返回指定列中唯一值的平均值
    7)MIN(COLNAME/EXPRESSION)   返回指定列或運算式中的數值最小值
    8)MAX(COLNAME/EXPRESSION)   返回指定列或運算式中的數值最大值
  2、日期與時間函數
    1)DAY(DATE/DATETIME EXPRESSION)   返回指定運算式中的當月幾號
    2)MONTH(DATE/DATETIME EXPRESSION)  返回指定運算式中的月份
    3)YEAR(DATE/DATETIME EXPRESSION)   返回指定運算式中的年份
    4)WEEKDAY(DATE/DATETIME EXPRESSION) 返回指定運算式中的當周星期幾
    5)DATE(NOT DATE EXPRESSION)     返回指定運算式代表的日期值
    6)TODAY                返回當前日期的日期值
    7)CURRENT[first to last]        返回當前日期的日期時間值
    8)COLNAME/EXPRESSION UNITS PRECISION  返回指定精度的指定單位元
    9)MDY(MONTH,DAY,YEAR)       返回標識指定年、月、日的日期值
    10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回運算式代表的日期時間值
    11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回運算式代表的時間間隔值
    12)EXTEND(DATE/DATETIME EXPRESSION,[first to last])返回經過調整的日期或日期時間



    例子1、和UNITS合用,指定日期或時間單位(year,month,day,hour,minute,seond,fraction):
       let tmp_date = today + 3 UNITS day
    例子2、let tmp_date = MDY(10,30,2002)  -- 2002-10-30
    例子3、let tmp_date = today + interval(7) day to day --目前時間加上7天;
       註:該功能與1相似;
    例子4、EXTEND轉換日期或日期時間值
       let tmp_inthour = extend(datetime1,hour to hour)

  3、代數函數
   1)ABS(COLNAME/EXPRESSION):       取絕對值
   2)MOD(COLNAME/EXPRESSION,DIVISOR)  返回除以除數後的模(餘數)
   3)POW(COLNAME/EXPRESSION,EXPONENT)  返回一個值的指數冥
     例子:let tmp_float = pow(2,3) --8.00000000

   4)ROOT(COLNAME/EXPRESSION,[index])  返回指定列或運算式的根值

   5)SQRT(COLNAME/EXPRESSION)      返回指定列或運算式的平方根值

   6)ROUND(COLNAME/EXPRESSION,[factor]) 返回指定列或運算式的圓整化值
   7)TRUNC(COLNAME/EXPRESSION,[factor]) 返回指定列或運算式的截尾值
     說明:上兩者中FACTOR指定小數位元,若不指定,則為0;若為負數,則整化到小數點左邊;
     註:ROUND是在指定位上進行4舍5入;TRUNC是在指定位上直接截斷;
     let tmp_float = round(4.555,2) --4.56
     let tmp_float = trunc(4.555,2) --4.55

  4、指數與對數函數
   1)EXP(COLNAME/EXPRESSION)    返回指定列或運算式的指數值
   2)LOGN(COLNAME/EXPRESSION)    返回指定列或運算式的自然對數值
   3)LOG10(COLNAME/EXPRESSION)   返回指定列或運算式的底數位10的對數值

  5、三角函數
   1)COS(RADIAN EXPRESSION)     返回指定弧度運算式的餘弦值
   2)SIN(RADIAN EXPRESSION)     正弦
   3)TAN(RADIAN EXPRESSION)     正切
   4)ACOS(RADIAN EXPRESSION)     反餘弦
   5)ASIN(RADIAN EXPRESSION)     反正弦
   6)ATAN(RADIAN EXPRESSION)     反正切
   7)ATAN2(X,Y)           返回座標(X,Y)的極座標角度組件

  6、統計函數
   1)RANGE(COLNAME)    返回指定列的最大值與最小值之差 = MAX(COLNAME)-MIN

(COLNAME)
   2)VARIANCE(COLNAME)  返回指定列的樣本方差;
   3)STDEV(COLNAME)    返回指定列的標準差;

  7、其他函數
   1)USER              返回目前使用者名
   2)HEX(COLNAME/EXPRESSION)    返回指定列或運算式的十六進位值
   3)LENGTH(COLNAME/EXPRESSION)  返回指定字元列或運算式的長度
   4)TRIM(COLNAME/EXPRESSION)   刪除指定列或運算式前後的字元
   5)COLNAME/EXPRESSION || COLNAME/EXPRESSION 返回並在一起的字元;

二、IDS內建函式
  1、DBSERVERNAME   返回資料庫伺服器名 let tmp_char=DBSERVERNAME
  2、SITENAME     返回資料庫伺服器名 let tmp_char=SITENAME
   說明:兩者功能相同;

  3、DBINFO(‘SPECIAL_KEYWORD')   返回只關鍵字值
   例子1:返回資料中每個表的DBSPACE名稱
     select dbinfo('dbspace',partnum),tabname from systables
     where tabid>99 and tabtype='T' (OK)
   例子2:返回任何錶中插入的最後一個SERIAL值
     select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1
   例子3:返回最後一個SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE語句處理的行數;
     select dbinfo('sqlca.sqlerrd2') from systables where tabid=1;

 


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。