?? sqlfunc.txt
字號:
值此春節之際,獻給廣大informix學習者、愛好者~~~~~~~
聚集函數:
avg,求平均值
count,統計記錄的條數
max,求最大值
min,求最小值
range,計算所選行的最大值與最小值的差
stdev,計算所選行的標準偏差
sum,求和函數
variance,函數返回值樣本的方差做為所有選擇行的方差的無偏估計。
它的公式,(sum(xi**2)-sum(xi)**2)/N)/(N-1)
其中xi是列中的每個值,N是列中值的總和。
時間函數:
day,mdy,month,weekday,year 這些函數返回與用來調用函數的表達式或自身變量的值。Current返回當前的日期和時間值,可以用extend函數來調整date或datetime值的精度。
使用day和current 函數來將列值與當前日期進行比較。
Date函數將字符串函數轉換為DATE值。例date(‘12/7/04’)
To_char函數將datetime和date值轉化為字符值。
To_date函數將字符值轉化為datetime類型的值。例to_date(“1978-10-07 10:00” ,”%Y-%m-%d %H:%M)
基數函數:
cardinality(僅適用IDS)函數對集合包含的元素數目計數。
智能大對象函數,(僅適用與IDS)
filetoblob( ),將文件復制到BLOB列中
filetoclob( ),將文件復制到CLOB列中
locopy( ),將BLOB或CLOB類型的數據復制到另一個BLOB或CLOB列中
lotofile( ),將BLOB或CLOB復制到文件中
字符串處理函數:
lower,將字符串中每個大寫字母轉換為小寫字母
upper,將字符串中每個小寫字母轉換為大寫字母
initcap,將字符串中每個詞的首寫字母轉換成大寫
replace,將字符串中的某一組字符轉換成其他字符,例replace(col,”each”,”eve”)
substr,返回字符串中的某一部分,例substr(col,1,2)
substring,返回字符串中的某一部分,例substring(col,from 1 to 4)
lpad,使用lpad函數已用重復次數達到必要次數的字符序列在左邊填充或截斷的字符串的副本,這取決于字符串中填充部分的指定長度。
舉例:字段 col 為char(15)類型,select lpad(col,21,”_”) from tab_name則顯示為在col前加上六個_。
Rpad,使用rpad函數已用重復次數達到必要次數的字符序列在右邊填充或截斷的字符串的副本,這取決于字符串中填充部分的指定長度。
舉例:字段col為char(15)類型,select rpad(col,21,”_”) from tab_name則顯示為在col后邊加上六個_。
其他函數:
hex,返回表達式的十六進制數
round,返回表達式的四舍五入值
trunc,返回表達式的截斷值
length,計算表達式的長度
user,返回執行查詢的用戶的用戶名(登陸帳戶名)
today,返回當前系統日期
dbservername,返回數據庫服務器的名稱,同sitename
dbinfo,返回數據庫的相關信息
decode,函數來將一個具有一個值的表達式轉換為另一個值
decode(test,a,a_value,b,b_value,c,c_value……),decode函數不支持TEXT和BYTE類型。
Nvl,來將求值為空的表達式轉化為另一個想要指定的值。
另外還可以在select語句中使用存儲過程,如select spl($test) from tab_name
內部合計函數
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;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -