sql 函数大全 比较常用一些函数整理.docx
- 文档编号:27575876
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:11
- 大小:21.34KB
sql 函数大全 比较常用一些函数整理.docx
《sql 函数大全 比较常用一些函数整理.docx》由会员分享,可在线阅读,更多相关《sql 函数大全 比较常用一些函数整理.docx(11页珍藏版)》请在冰豆网上搜索。
sql函数大全比较常用一些函数整理
sql函数大全比较常用的一些函数整理
select语句中只能使用sql函数对字段进行操作(链接sqlserver),
select字段1from表1where字段1.IndexOf("云")=1;
这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。
left()是sql函数。
select字段1from表1wherecharindex('云',字段1)=1;
字符串函数对二进制数据、字符串和表达式执行不同的运算。
此类函数作用于CHAR、VARCHAR、BINARY、和VARBINARY数据类型以及可以隐式转换为CHAR或VARCHAR的数据类型。
可以在SELECT语句的SELECT和WHERE子句以及表达式中使用字符串函数。
常用的字符串函数有:
一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII码值。
在ASCII()函数中,纯数字的字符串可不用‘'括起来,但含其它字符的字符串必须用‘'括起来使用,否则会出错。
2、CHAR()
将ASCII码转换为字符。
如果没有输入0~255之间的ASCII码值,CHAR()返回NULL。
3、LOWER()和UPPER()
LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
4、STR()
把数值型数据转换为字符型数据。
STR(
length指定返回的字符串的长度,decimal指定返回的小数位数。
如果没有指定长度,缺省的length值为10,decimal缺省值为0。
当length或者decimal为负值时,返回NULL;
当length小于小数点左边(包括符号位)的位数时,返回length个*;
先服从length,再取decimal;
当返回的字符串位数小于length,左边补足空格。
二、去空格函数
1、LTRIM()把字符串头部的空格去掉。
2、RTRIM()把字符串尾部的空格去掉。
三、取子串函数
1、left()
LEFT(
返回character_expression左起integer_expression个字符。
2、RIGHT()
RIGHT(
返回character_expression右起integer_expression个字符。
3、SUBSTRING()
SUBSTRING(
返回从字符串左边第starting_position个字符起length个字符的部分。
四、字符串比较函数
1、CHARINDEX()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX(<'substring_expression'>,
其中substring_expression是所要查找的字符表达式,expression可为字符串也可为列名表达式。
如果没有发现子串,则返回0值。
此函数不能用于TEXT和IMAGE数据类型。
2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX(<'%substring_expression%'>,
与CHARINDEX函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、VARCHAR和TEXT数据类型。
五、字符串操作函数
1、QUOTENAME()
返回被特定字符括起来的字符串。
QUOTENAME(<'character_expression'>[,quote_character])其中quote_character标明括字符串所用的字符,缺省值为“[]”。
2、REPLICATE()
返回一个重复character_expression指定次数的字符串。
REPLICATE(character_expressioninteger_expression)如果integer_expression值为负值,则返回NULL。
3、REVERSE()
将指定的字符串的字符排列顺序颠倒。
REVERSE(
4、REPLACE()
返回被替换了指定子串的字符串。
REPLACE(
4、SPACE()
返回一个有指定长度的空白字符串。
SPACE(
5、STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF(
如果起始位置为负或长度值为负,或者起始位置大于character_expression1的长度,则返回NULL值。
如果length长度大于character_expression1中start_position以右的长度,则character_expression1只保留首字符。
六、数据类型转换函数
1、CAST()
CAST(
2、CONVERT()
CONVERT(
1)data_type为SQLServer系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用CONVERT()函数的style选项能以不同的格式显示日期和时间。
style是将DATATIME和SMALLDATETIME数据转换为字符串时所选用的由SQLServer系统提供的转换样式编号,不同的样式编号有不同的输出格式。
七、日期函数
1、day(date_expression)
返回date_expression中的日期值
2、month(date_expression)
返回date_expression中的月份值
3、year(date_expression)
返回date_expression中的年份值
4、DATEADD()
DATEADD(
返回指定日期date加上指定的额外日期间隔number产生的新日期。
5、DATEDIFF()
DATEDIFF(
返回两个指定日期在datepart方面的不同之处,即date2超过date1的差距值,其结果值是一个带有正负号的整数值。
6、DATENAME()
DATENAME(
以字符串的形式返回日期的指定部分此部分。
由datepart来指定。
7、DATEPART()
DATEPART(
以整数值的形式返回日期的指定部分。
此部分由datepart来指定。
DATEPART(dd,date)等同于DAY(date)
DATEPART(mm,date)等同于MONTH(date)
DATEPART(yy,date)等同于YEAR(date)
8、GETDATE()
以DATETIME的缺省格式返回系统当前的日期和时间。
内部合计函数
1)COUNT(*)返回行数
2)COUNT(DISTINCTCOLNAME)返回指定列中唯一值的个数
3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;
4)SUM(DISTINCTCOLNAME)返回指定列中唯一值的和
5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值
6)AVG(DISTINCTCOLNAME)返回指定列中唯一值的平均值
7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值
8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值
一、内部函数
1、内部合计函数
1)COUNT(*)返回行数
2)COUNT(DISTINCTCOLNAME)返回指定列中唯一值的个数
3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;
4)SUM(DISTINCTCOLNAME)返回指定列中唯一值的和
5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值
6)AVG(DISTINCTCOLNAME)返回指定列中唯一值的平均值
7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值
8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值
2、日期与时间函数
1)DAY(DATE/DATETIMEEXPRESSION)返回指定表达式中的当月几号
2)MONTH(DATE/DATETIMEEXPRESSION)返回指定表达式中的月份
3)YEAR(DATE/DATETIMEEXPRESSION)返回指定表达式中的年份
4)WEEKDAY(DATE/DATETIMEEXPRESSION)返回指定表达式中的当周星期几
5)DATE(NOTDATEEXPRESSION)返回指定表达式代表的日期值
6)TODAY返回当前日期的日期值
7)CURRENT[FIRSTTOLAST]返回当前日期的日期时间值
8)COLNAME/EXPRESSIONUNITSPRECISION返回指定精度的指定单位数
9)MDY(MONTH,DAY,YEAR)返回标识指定年、月、日的日期值
10)DATETIME(DATE/DATETIMEEXPRESSION)FIRSTTOLAST返回表达式代表的日期时间值
11)INTERVAL(DATE/DATETIMEEXPRESSION)FIRSTTOLAST返回表达式代表的时间间隔值
12)EXTEND(DATE/DATETIMEEXPRESSION,[FIRSTTOLAST])返回经过调整的日期或日期时间值
To_char函数将datetime和date值转化为字符值。
To_date函数将字符值转化为datetime类型的值。
例to_date(“1978-10-0710:
00”,”%Y-%m-%d%H:
%M)
例子1、和UNITS合用,指定日期或时间单位(year,month,day,hour,minute,seond,fraction):
lettmp_date=today+3UNITSday
例子2、lettmp_date=MDY(10,30,2002)--2002-10-30
例子3、lettmp_date=today+interval(7)daytoday--当前时间加上7天;
注:
该功能与1相似;
例子4、EXTEND转换日期或日期时间值
lettmp_inthour=extend(datetime1,hourtohour)
3、代数函数
1)ABS(COLNAME/EXPRESSION):
取绝对值
2)MOD(COLNAME/EXPRESSION,DIVISOR)返回除以除数后的模(余数)
3)POW(COLNAME/EXPRESSION,EXPONENT)返回一个值的指数冥
例子:
lettmp_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是在指定位上直接截断;
lettmp_float=round(4.555,2)--4.56
lettmp_float=trunc(4.555,2)--4.55
4、指数与对数函数
1)EXP(COLNAME/EXPRESSION)返回指定列或表达式的指数值
2)LOGN(COLNAME/EXPRESSION)返回指定列或表达式的自然对数值
3)LOG10(COLNAME/EXPRESSION)返回指定列或表达式的底数位10的对数值
5、三角函数
1)COS(RADIANEXPRESSION)返回指定弧度表达式的余弦值
2)SIN(RADIANEXPRESSION)正弦
3)TAN(RADIANEXPRESSION)正切
4)ACOS(RADIANEXPRESSION)反余弦
5)ASIN(RADIANEXPRESSION)反正弦
6)ATAN(RADIANEXPRESSION)反正切
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,from1to4)
lpad,使用lpad函数已用重复次数达到必要次数的字符序列在左边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。
举例:
字段col为char(15)类型,selectlpad(col,21,”_”)fromtab_name则显示为在col前加上六个_。
Rpad,使用rpad函数已用重复次数达到必要次数的字符序列在右边填充或截断的字符串的副本,这取决于字符串中填充部分的指定长度。
举例:
字段col为char(15)类型,selectrpad(col,21,”_”)fromtab_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语句中使用存储过程,如selectspl($test)fromtab_name
二、IDS内部函数
1、DBSERVERNAME返回数据库服务器名lettmp_char=DBSERVERNAME
2、SITENAME返回数据库服务器名lettmp_char=SITENAME
说明:
两者功能相同;
3、DBINFO(‘SPECIAL_KEYWORD')返回只关键字值
例子1:
返回数据中每个表的DBSPACE名称
selectdbinfo('dbspace',partnum),tabnamefromsystables
wheretabid>99andtabtype='T'(OK)
例子2:
返回任何表中插入的最后一个SERIAL值
selectdbinfo('sqlca.sqlerrd1')fromsystableswheretabid=1
例子3:
返回最后一个SELECT,INSERT,UPDATE,DELETE或EXECUTEPROCEDURE语句处理的行数;
selectdbinfo('sqlca.sqlerrd2')fromsystableswheretabid=1;
三、其它
本函数库共有38个函数
目前支持的Informix版本为ODS7.x、SE7.x与UniversalServer(IUS)9.x三种。
在ODS7.x的版本中,完全支持所有的数据类型,而在IUS9.x中,不支持SLOB与CLOB二种类型。
要在WebServer上安装InformixClient端,在编译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:
返回目前文件或找寻位置。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 函数大全 比较常用一些函数整理 函数 大全 比较 常用 一些 整理