Informix SQL函數(shù)的詳細(xì)用法
一、內(nèi)部函數(shù)
1、內(nèi)部合計(jì)函數(shù)
1)COUNT(*) 返回行數(shù)
2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的個(gè)數(shù)
3)SUM(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的數(shù)值和;
4)SUM(DISTINCT COLNAME) 返回指定列中唯一值的和
5)AVG(COLNAME/EXPRESSION) 返回指定列或表達(dá)式中的數(shù)值平均值
6)AVG(DISTINCT COLNAME) 返回指定列中唯一值的平均值
7)MIN(COLNAME/EXPRESSION) 返回指定列或表達(dá)式中的數(shù)值最小值
8)MAX(COLNAME/EXPRESSION) 返回指定列或表達(dá)式中的數(shù)值最大值
2、日期與時(shí)間函數(shù)
1)DAY(DATE/DATETIME EXPRESSION) 返回指定表達(dá)式中的當(dāng)月幾號(hào)
2)MONTH(DATE/DATETIME EXPRESSION) 返回指定表達(dá)式中的月份
3)YEAR(DATE/DATETIME EXPRESSION) 返回指定表達(dá)式中的年份
4)WEEKDAY(DATE/DATETIME EXPRESSION) 返回指定表達(dá)式中的當(dāng)周星期幾
5)DATE(NOT DATE EXPRESSION) 返回指定表達(dá)式代表的日期值
6)TODAY 返回當(dāng)前日期的日期值
7)CURRENT[first to last] 返回當(dāng)前日期的日期時(shí)間值
8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定單位數(shù)
9)MDY(MONTH,DAY,YEAR) 返回標(biāo)識(shí)指定年、月、日的日期值
10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表達(dá)式代表的日期時(shí)間值
11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表達(dá)式代表的時(shí)間間隔值
12)EXTEND(DATE/DATETIME EXPRESSION,[first to last])返回經(jīng)過(guò)調(diào)整的日期或日期時(shí)間
值
例子1、和UNITS合用,指定日期或時(shí)間單位(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 --當(dāng)前時(shí)間加上7天;
注:該功能與1相似;
例子4、EXTEND轉(zhuǎn)換日期或日期時(shí)間值
let tmp_inthour = extend(datetime1,hour to hour)
3、代數(shù)函數(shù)
1)ABS(COLNAME/EXPRESSION): 取絕對(duì)值
2)MOD(COLNAME/EXPRESSION,DIVISOR) 返回除以除數(shù)后的模(余數(shù))
3)POW(COLNAME/EXPRESSION,EXPONENT) 返回一個(gè)值的指數(shù)冥
例子:let tmp_float = pow(2,3) --8.00000000
4)ROOT(COLNAME/EXPRESSION,[index]) 返回指定列或表達(dá)式的根值
5)SQRT(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的平方根值
6)ROUND(COLNAME/EXPRESSION,[factor]) 返回指定列或表達(dá)式的圓整化值
7)TRUNC(COLNAME/EXPRESSION,[factor]) 返回指定列或表達(dá)式的截尾值
說(shuō)明:上兩者中FACTOR指定小數(shù)位數(shù),若不指定,則為0;若為負(fù)數(shù),則整化到小數(shù)點(diǎn)左邊;
注:ROUND是在指定位上進(jìn)行4舍5入;TRUNC是在指定位上直接截?cái)啵?
let tmp_float = round(4.555,2) --4.56
let tmp_float = trunc(4.555,2) --4.55
4、指數(shù)與對(duì)數(shù)函數(shù)
1)EXP(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的指數(shù)值
2)LOGN(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的自然對(duì)數(shù)值
3)LOG10(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的底數(shù)位10的對(duì)數(shù)值
5、三角函數(shù)
1)COS(RADIAN EXPRESSION) 返回指定弧度表達(dá)式的余弦值
2)SIN(RADIAN EXPRESSION) 正弦
3)TAN(RADIAN EXPRESSION) 正切
4)ACOS(RADIAN EXPRESSION) 反余弦
5)ASIN(RADIAN EXPRESSION) 反正弦
6)ATAN(RADIAN EXPRESSION) 反正切
7)ATAN2(X,Y) 返回坐標(biāo)(X,Y)的極坐標(biāo)角度組件
6、統(tǒng)計(jì)函數(shù)
1)RANGE(COLNAME) 返回指定列的最大值與最小值之差 = MAX(COLNAME)-MIN
(COLNAME)
2)VARIANCE(COLNAME) 返回指定列的樣本方差;
3)STDEV(COLNAME) 返回指定列的標(biāo)準(zhǔn)偏差;
7、其他函數(shù)
1)USER 返回當(dāng)前用戶(hù)名
2)HEX(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的十六進(jìn)制值
3)LENGTH(COLNAME/EXPRESSION) 返回指定字符列或表達(dá)式的長(zhǎng)度
4)TRIM(COLNAME/EXPRESSION) 刪除指定列或表達(dá)式前后的字符
5)COLNAME/EXPRESSION || COLNAME/EXPRESSION 返回并在一起的字符;
二、IDS內(nèi)部函數(shù)
1、DBSERVERNAME 返回?cái)?shù)據(jù)庫(kù)服務(wù)器名 let tmp_char=DBSERVERNAME
2、SITENAME 返回?cái)?shù)據(jù)庫(kù)服務(wù)器名 let tmp_char=SITENAME
說(shuō)明:兩者功能相同;
3、DBINFO(‘SPECIAL_KEYWORD') 返回只關(guān)鍵字值
例子1:返回?cái)?shù)據(jù)中每個(gè)表的DBSPACE名稱(chēng)
select dbinfo('dbspace',partnum),tabname from systables
where tabid>99 and tabtype='T' (OK)
例子2:返回任何表中插入的最后一個(gè)SERIAL值
select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1
例子3:返回最后一個(gè)SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE語(yǔ)句處理的行數(shù);
select dbinfo('sqlca.sqlerrd2') from systables where tabid=1;