SQLServer 2005内置函数介绍

一、字符串函数

字符串函数用于控制返回给用户的字符串,这些功能仅限于字符串类型数据.

.CharIndex() 寻找A字符串在B字符串中的起始位置

                      Select CharIndex(‘A**’,’MYA**’)  返回INT类型 3

                      表明A**字符中的第一个字符’A’在’MYA**’的第三个字符位置

.Len()              返回传递给它的字符串的长度 注:不包含尾随的空格

Select Len(‘a**’)      返回INT  4

.Upper()          把传递给它的字符串转化为大写

                       Select Upper(‘a**’)       返回’A**’

.Lower()          把传递给它的字符串转化为小写

                       Select Lower(‘A**’)     返回’a**’

.Ltrim()            清除字符左边的空格

                       Select Ltrim(‘    a**’)      返回’a**’

.Rtrim()            清楚字符右边的空格

                       Select Rtrim(‘a**   ‘)       返回’a**’

.Right()            从字符串右边返回指定数目的字符

                       Select Right(‘我爱你’,2)   返回’爱你’

.Left()               从字符串左边返回指定数目的字符

                       Select Left(‘我爱你’,2)       返回’我爱’

.Replace()       替换一个字符串中的字符

                       Select Replace(‘I hate you’,’hate’,’love’)   返回’I love you’

.Stuff()             从一个字符串中删除指定长度的字符,并在该位置插入一个新的字符串

                       Select Stuff(‘helloworld’,6,len(‘helloworld’),’a**’)  返回’helloa**’

  注:该函数具有四个参数 1.原始字符串 2.原始字符串中要删除掉的字符的

                             起始位置(NOT BASED-ZERO) 3.要删除的长度 4.要插入的新字符串

二、日期函数

日期函数用于操作日期值,我们不能直接对日期值进行数**算.

日期函数帮助我们提取日期值中的年,月,日,以便分别操作他们.

.GetDate()                 返回当前系统时间                             Select GetDate()

.GetUTCDate()         返回格林威治时间                             Select GetUTCDate()

.DateDiff()                  两个日期之间指定日期部分的差值 

                                    Select DateDiff(dd,getDate(),’2011-1-1′)

                                    返回当前时间与2011-1-1相差的天数

dd是指定日期的标识符,在后部分,我们将详细讲解

.DateAdd()                返回将指定的数值添加到指定的日期部分后的日期                  

                                    Select DateAdd(MM,4,’2010-6-1′)        返回’2010-10-1 00:00:00′

.DateName()               返回日期指定部分的字符串形式

                                   Select DateName(dd,getDate())      返回当前系统日期的号

.DatePart                  返回日期中指定部分的整数形式

三、数学函数

数学函数用于对数值进行代数运算

.ABS()                          返回数值表达式的绝对值

                                       Select ABS(-12.5)                           返回12.5

.Ceiling()                     取大于或等于数值表达式的最小整数

                                      Select Ceiling(-4.5)                          返回-4

.Floor()                          取小于或等于数值表达式的最大整数

                                      Select Floor(-12.5)                           返回-13

.Power()                       取数值表达式的幂值  

                                      Select Power(5,2)                            返回25

.Sign                             对于正数返回+1,负数则返回-1,0则返回0

.Sqrt                              取浮点表达式的平方根

                                        Select Sqrt(25)                             返回5

.Round                         将数值表达式四舍五入为指定精度

 

一、内部函数
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(“1989-09-04 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,”zhizuzhefu.com”,”chenpeng.info”)
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 類中。

About 智足者富

http://chenpeng.info

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>