Informix SQL函數的詳細用法
2024-07-21 02:06:02
供稿:網友
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;