Informix sql 函數(shù)使用說明大全(附:例子)
|
作者:清然 出處:Unix愛好者家園unix-cd.com 更新時間: 2005年11月15日
|
一、內(nèi)部函數(shù) 1、內(nèi)部合計(jì)函數(shù) 1)COUNT(*) 返回行數(shù) 2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的個數(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ù) 1)DAY(DATE/DATETIME EXPRESSION) 返回指定表達(dá)式中的當(dāng)月幾號 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)前日期的日期時間值 8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定單位數(shù) 9)MDY(MONTH,DAY,YEAR) 返回標(biāo)識指定年、月、日的日期值 10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表達(dá)式代表的日期時間值 11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表達(dá)式代表的時間間隔值 12)EXTEND(DATE/DATETIME EXPRESSION,[FIRST TO LAST])返回經(jīng)過調(diào)整的日期或日期時間值 To_char函數(shù)將datetime和date值轉(zhuǎn)化為字符值。 To_date函數(shù)將字符值轉(zhuǎn)化為datetime類型的值。例to_date(“1978-10-07 10:00” ,”%Y-%m-%d %H:%M) 例子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 --當(dāng)前時間加上7天; 注:該功能與1相似; 例子4、EXTEND轉(zhuǎn)換日期或日期時間值 let tmp_inthour = extend(datetime1,hour to hour)
3、代數(shù)函數(shù) 1)ABS(COLNAME/EXPRESSION): 取絕對值 2)MOD(COLNAME/EXPRESSION,DIVISOR) 返回除以除數(shù)后的模(余數(shù)) 3)POW(COLNAME/EXPRESSION,EXPONENT) 返回一個值的指數(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á)式的截尾值 說明:上兩者中FACTOR指定小數(shù)位數(shù),若不指定,則為0;若為負(fù)數(shù),則整化到小數(shù)點(diǎn)左邊; 注:ROUND是在指定位上進(jìn)行4舍5入;TRUNC是在指定位上直接截?cái)啵?br> let tmp_float = round(4.555,2) --4.56 let tmp_float = trunc(4.555,2) --4.55 4、指數(shù)與對數(shù)函數(shù) 1)EXP(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的指數(shù)值 2)LOGN(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的自然對數(shù)值 3)LOG10(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的底數(shù)位10的對數(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)前用戶名 2)HEX(COLNAME/EXPRESSION) 返回指定列或表達(dá)式的十六進(jìn)制值 3)LENGTH(COLNAME/EXPRESSION) 返回指定字符列或表達(dá)式的長度 4)TRIM(COLNAME/EXPRESSION) 刪除指定列或表達(dá)式前后的字符 5)COLNAME/EXPRESSION || COLNAME/EXPRESSION 返回并在一起的字符; 8、基數(shù)函數(shù): 1)cardinality(僅適用IDS)函數(shù)對集合包含的元素?cái)?shù)目計(jì)數(shù)。 智能大對象函數(shù),(僅適用與IDS) filetoblob( ),將文件復(fù)制到BLOB列中 filetoclob( ),將文件復(fù)制到CLOB列中 locopy( ),將BLOB或CLOB類型的數(shù)據(jù)復(fù)制到另一個BLOB或CLOB列中 lotofile( ),將BLOB或CLOB復(fù)制到文件中 9、字符串處理函數(shù): lower,將字符串中每個大寫字母轉(zhuǎn)換為小寫字母 upper,將字符串中每個小寫字母轉(zhuǎn)換為大寫字母 initcap,將字符串中每個詞的首寫字母轉(zhuǎn)換成大寫 replace,將字符串中的某一組字符轉(zhuǎn)換成其他字符,例replace(col,”each”,”eve”) substr,返回字符串中的某一部分,例substr(col,1,2) substring,返回字符串中的某一部分,例substring(col,from 1 to 4) lpad,使用lpad函數(shù)已用重復(fù)次數(shù)達(dá)到必要次數(shù)的字符序列在左邊填充或截?cái)嗟淖址母北?,這取決于字符串中填充部分的指定長度。 舉例:字段 col 為char(15)類型,select lpad(col,21,”_”) from tab_name則顯示為在col前加上六個_。 Rpad,使用rpad函數(shù)已用重復(fù)次數(shù)達(dá)到必要次數(shù)的字符序列在右邊填充或截?cái)嗟淖址母北?,這取決于字符串中填充部分的指定長度。 舉例:字段col為char(15)類型,select rpad(col,21,”_”) from tab_name則顯示為在col后邊加上六個_。 10、其他函數(shù): hex,返回表達(dá)式的十六進(jìn)制數(shù) round,返回表達(dá)式的四舍五入值 trunc,返回表達(dá)式的截?cái)嘀?nbsp; length,計(jì)算表達(dá)式的長度 user,返回執(zhí)行查詢的用戶的用戶名(登陸帳戶名) today,返回當(dāng)前系統(tǒng)日期 dbservername,返回?cái)?shù)據(jù)庫服務(wù)器的名稱,同sitename dbinfo,返回?cái)?shù)據(jù)庫的相關(guān)信息 decode,函數(shù)來將一個具有一個值的表達(dá)式轉(zhuǎn)換為另一個值 decode(test,a,a_value,b,b_value,c,c_value……),decode函數(shù)不支持TEXT和BYTE類型。 Nvl,來將求值為空的表達(dá)式轉(zhuǎn)化為另一個想要指定的值。 另外還可以在select語句中使用存儲過程,如select spl($test) from tab_name 二、IDS內(nèi)部函數(shù) 1、DBSERVERNAME 返回?cái)?shù)據(jù)庫服務(wù)器名 let tmp_char=DBSERVERNAME 2、SITENAME 返回?cái)?shù)據(jù)庫服務(wù)器名 let tmp_char=SITENAME 說明:兩者功能相同;
3、DBINFO(‘SPECIAL_KEYWORD') 返回只關(guān)鍵字值 例子1:返回?cái)?shù)據(jù)中每個表的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語句處理的行數(shù); select dbinfo('sqlca.sqlerrd2') from systables where tabid=1;
三、其它 本函數(shù)庫共有 38 個函數(shù) 目前支持的 Informix 版本為 ODS 7.x、SE 7.x 與 Universal Server (IUS) 9.x 三種。在 ODS 7.x 的版本中,完全支持所有的資料類型,而在 IUS 9.x 中,不支持 SLOB 與 CLOB 二種類型。 要在 Web Server 上安裝 Informix Client 端,在編譯 PHP 之前 (configure 之前),要先設(shè)好 IFX_LIBDIR、IFX_LIBS 及 IFX_INCDIR 三種環(huán)境變量,若是 9.x 版尚要配置 HAVE_IFX_IUS 環(huán)境變量。同時在配置時要加入 --with_informix=yes 的選項(xiàng)。 ifx_connect: 打開 Informix 服務(wù)器連接。 ifx_pconnect: 打開 Informix 服務(wù)器持續(xù)連接。 ifx_close: 關(guān)閉 Informix 服務(wù)器連接。 ifx_query: 送出一個 query 字符串。 ifx_prepare: 準(zhǔn)備 query 字符串。 ifx_do: 執(zhí)行已準(zhǔn)備 query 字符串。 ifx_error: 取得 Informix 最后的錯誤。 ifx_errormsg: 取得 Informix 最后錯誤信息。 ifx_affected_rows: 得到 Informix 最后操作影響的列數(shù)目。 ifx_getsqlca: 取得 query 后的 sqlca 信息。 ifx_fetch_row: 返回單列的各字段。 ifx_htmltbl_result: 將 query 返回資料轉(zhuǎn)成 HTML 表格。 ifx_fieldtypes: 列出 Informix 的 SQL 字段。 ifx_fieldproperties: 列出 Informix 的 SQL 字段屬性。 ifx_num_fields: 取得返回字段的數(shù)目。 ifx_num_rows: 取得返回列的數(shù)目。 ifx_free_result: 釋放返回占用內(nèi)存。 ifx_create_char: 建立字符類。 ifx_free_char: 刪除字符類。 ifx_update_char: 更改字符類。 ifx_get_char: 取得字符類。 ifx_create_blob: 建立長位類。 ifx_copy_blob: 復(fù)制長位類。 ifx_free_blob: 刪除長位類。 ifx_get_blob: 取得長位類。 ifx_update_blob: 更改長位類。 ifx_blobinfile_mode: 配置長位類模式。 ifx_textasvarchar: 配置文字模式默認(rèn)值。 ifx_byteasvarchar: 配置位組模式默認(rèn)值。 ifx_nullformat: 配置空字符模式默認(rèn)值。 ifxus_create_slob: 建立 slob 類。 ifx_free_slob: 刪除 slob 類。 ifxus_close_slob: 刪除 slob 類。 ifxus_open_slob: 打開 slob 類。 ifxus_tell_slob: 返回目前文件或找尋位置。 ifxus_seek_slob: 配置目前文件或找尋位置。 ifxus_read_slob: 讀取指定數(shù)目的 slob 類。 ifxus_write_slob: 將字符串寫入 slob 類中。
|
|
|
|