INFORMIX資料庫函式
一、內部函式
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])返回經過調整的日期或日期時間值
To_char函式將datetime和date值轉化為字元值。
To_date函式將字元值轉化為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 --當前時間加上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 返回並在一起的字元;
8、基數函式:
1)cardinality(僅適用IDS)函式對集合包含的元素數目計數。
智慧大物件函式,(僅適用與IDS)
filetoblob( ),將檔案複製到BLOB列中
filetoclob( ),將檔案複製到CLOB列中
locopy( ),將BLOB或CLOB型別的資料複製到另一個BLOB或CLOB列中
lotofile( ),將BLOB或CLOB複製到檔案中
9、字串處理函式:
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後邊加上六個_。
10、其他函式:
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
二、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;
三、其它
本函式庫共有 38 個函式
目前支援的 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 之前),要先設好 IFX_LIBDIR、IFX_LIBS 及 IFX_INCDIR 三種環境變數,若是 9.x 版尚要配置 HAVE_IFX_IUS 環境變數。同時在配置時要加入 --with_informix=yes 的選項。
ifx_connect: 開啟 Informix 伺服器連線。
ifx_pconnect: 開啟 Informix 伺服器持續連線。
ifx_close: 關閉 Informix 伺服器連線。
ifx_query: 送出一個 query 字串。
ifx_prepare: 準備 query 字串。
ifx_do: 執行已準備 query 字串。
ifx_error: 取得 Informix 最後的錯誤。
ifx_errormsg: 取得 Informix 最後錯誤資訊。
ifx_affected_rows: 得到 Informix 最後操作影響的列數目。
ifx_getsqlca: 取得 query 後的 sqlca 資訊。
ifx_fetch_row: 返回單列的各欄位。
ifx_htmltbl_result: 將 query 返回資料轉成 HTML 表格。
ifx_fieldtypes: 列出 Informix 的 SQL 欄位。
ifx_fieldproperties: 列出 Informix 的 SQL 欄位屬性。
ifx_num_fields: 取得返回欄位的數目。
ifx_num_rows: 取得返回列的數目。
ifx_free_result: 釋放返回佔用記憶體。
ifx_create_char: 建立字元類。
ifx_free_char: 刪除字元類。
ifx_update_char: 更改字元類。
ifx_get_char: 取得字元類。
ifx_create_blob: 建立長位類。
ifx_copy_blob: 復制長位類。
ifx_free_blob: 刪除長位類。
ifx_get_blob: 取得長位類。
ifx_update_blob: 更改長位類。
ifx_blobinfile_mode: 配置長位類模式。
ifx_textasvarchar: 配置文字模式預設值。
ifx_byteasvarchar: 配置位組模式預設值。
ifx_nullformat: 配置空字元模式預設值。
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: 讀取指定數目的 slob 類。
ifxus_write_slob: 將字串寫入 slob 類中
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])返回經過調整的日期或日期時間值
To_char函式將datetime和date值轉化為字元值。
To_date函式將字元值轉化為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 --當前時間加上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 返回並在一起的字元;
8、基數函式:
1)cardinality(僅適用IDS)函式對集合包含的元素數目計數。
智慧大物件函式,(僅適用與IDS)
filetoblob( ),將檔案複製到BLOB列中
filetoclob( ),將檔案複製到CLOB列中
locopy( ),將BLOB或CLOB型別的資料複製到另一個BLOB或CLOB列中
lotofile( ),將BLOB或CLOB複製到檔案中
9、字串處理函式:
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後邊加上六個_。
10、其他函式:
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
二、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;
三、其它
本函式庫共有 38 個函式
目前支援的 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 之前),要先設好 IFX_LIBDIR、IFX_LIBS 及 IFX_INCDIR 三種環境變數,若是 9.x 版尚要配置 HAVE_IFX_IUS 環境變數。同時在配置時要加入 --with_informix=yes 的選項。
ifx_connect: 開啟 Informix 伺服器連線。
ifx_pconnect: 開啟 Informix 伺服器持續連線。
ifx_close: 關閉 Informix 伺服器連線。
ifx_query: 送出一個 query 字串。
ifx_prepare: 準備 query 字串。
ifx_do: 執行已準備 query 字串。
ifx_error: 取得 Informix 最後的錯誤。
ifx_errormsg: 取得 Informix 最後錯誤資訊。
ifx_affected_rows: 得到 Informix 最後操作影響的列數目。
ifx_getsqlca: 取得 query 後的 sqlca 資訊。
ifx_fetch_row: 返回單列的各欄位。
ifx_htmltbl_result: 將 query 返回資料轉成 HTML 表格。
ifx_fieldtypes: 列出 Informix 的 SQL 欄位。
ifx_fieldproperties: 列出 Informix 的 SQL 欄位屬性。
ifx_num_fields: 取得返回欄位的數目。
ifx_num_rows: 取得返回列的數目。
ifx_free_result: 釋放返回佔用記憶體。
ifx_create_char: 建立字元類。
ifx_free_char: 刪除字元類。
ifx_update_char: 更改字元類。
ifx_get_char: 取得字元類。
ifx_create_blob: 建立長位類。
ifx_copy_blob: 復制長位類。
ifx_free_blob: 刪除長位類。
ifx_get_blob: 取得長位類。
ifx_update_blob: 更改長位類。
ifx_blobinfile_mode: 配置長位類模式。
ifx_textasvarchar: 配置文字模式預設值。
ifx_byteasvarchar: 配置位組模式預設值。
ifx_nullformat: 配置空字元模式預設值。
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: 讀取指定數目的 slob 類。
ifxus_write_slob: 將字串寫入 slob 類中
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-2134633/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GoldenGate抽取Informix資料庫安裝及配置GoORM資料庫
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式
- 利用wordpress的資料庫操作函式資料庫函式
- 資料庫之DQL排序&分組&函式資料庫排序函式
- Django筆記二十五之資料庫函式之日期函式Django筆記資料庫函式
- Django筆記二十七之資料庫函式之文字函式Django筆記資料庫函式
- GaussDB資料庫基礎函式介紹1資料庫函式
- MySQL資料庫中的分組函式ROLLUPMySql資料庫函式
- 瀚高資料庫相容Mysql的unhex函式資料庫MySql函式
- Oracle資料庫中convert()函式,在瀚高資料庫中如何替換使用?Oracle資料庫函式
- MySQL資料庫中timediff()函式,在瀚高資料庫中如何替換使用?MySql資料庫函式
- SQL Server資料庫————模糊查詢和聚合函式SQLServer資料庫函式
- mysql資料庫如何使用concat函式連線字串MySql資料庫函式字串
- Django筆記二十四之資料庫函式之比較和轉換函式Django筆記資料庫函式
- PHP 函式庫 1 - 函式庫的分類PHP函式
- 【從零開始學習 MySql 資料庫】(2) 函式MySql資料庫函式
- Serverless 解惑——函式計算如何訪問 Redis 資料庫Server函式Redis資料庫
- Serverless 解惑——函式計算如何訪問 Mongo 資料庫Server函式Go資料庫
- Serverless 解惑——函式計算如何訪問 MySQL 資料庫Server函式MySql資料庫
- Serverless 解惑——函式計算如何訪問 PostgreSQL 資料庫Server函式SQL資料庫
- 資料庫系統------函式依賴與正規化資料庫函式
- Spring Boot中使用JPA呼叫自定義的資料庫函式Spring Boot資料庫函式
- Serverless 解惑——函式計算如何訪問 SQL Server 資料庫Server函式SQL資料庫
- SQL SERVER資料庫datediff函式引發的效能問題SQLServer資料庫函式
- 頭歌資料庫實驗七:函式與觸發器資料庫函式觸發器
- 分散式資料庫分散式資料庫
- SQL Server資料庫中Substring函式的用法例項詳解SQLServer資料庫函式
- MySQL資料庫基礎篇視窗函式示例解析教程RATZMySql資料庫函式
- 分析型資料庫:分散式分析型資料庫資料庫分散式
- 好程式設計師大資料培訓分享之《MySQL資料庫》常用函式整理程式設計師大資料MySql資料庫函式
- 嵌入式資料庫資料庫
- C 庫函式 - strstr()函式
- ysyx: 完善庫函式函式
- 大資料採集:fillna函式大資料函式
- 關聯式資料庫很快會替代向量資料庫資料庫
- 關聯式資料庫與文件資料庫對比資料庫
- Sql Server資料庫開窗函式Over()的使用例項詳解SQLServer資料庫函式
- 【SQL】18 SQL NULL 函式、SQL 通用資料型別、SQL 用於各種資料庫的資料型別SQLNull函式資料型別資料庫
- 核心函式 系統呼叫 系統命令 庫函式函式