sql函数大全

  • 格式:pdf
  • 大小:126.36 KB
  • 文档页数:2

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])返回经过调整的⽇期或⽇期时间值

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 字段屬性。