SQL函数大全

合集下载

sqlserver 高级函数

sqlserver 高级函数

SQL Server 提供了许多高级函数,这些函数可以帮助您更有效地处理和操作数据。

以下是一些常用的SQL Server 高级函数:1.聚合函数:如SUM(), AVG(), COUNT(), MAX(), MIN()等,用于对一组值执行计算。

2.字符串函数:如CONCAT(), LEFT(), RIGHT(), CHARINDEX(), REPLACE(), SUBSTRING()等,用于处理和操作字符串数据。

3.日期和时间函数:如GETDATE(), DATEPART(), DATEDIFF(), DATEADD(), YEAR(), MONTH(), DAY ()等,用于处理和操作日期和时间数据。

4.转换函数:如CAST(), CONVERT(),用于在数据类型之间转换数据。

5.数学函数:如ROUND(), CEILING(), FLOOR(), ABS(), SQRT()等,用于执行数学计算。

6.条件函数:如CASE语句, COALESCE(), NULLIF()等,用于基于条件执行逻辑操作。

7.XML 函数:如XMLSERIALIZE(), XMLQUERY(), XMLDUMPELEMENTS()等,用于处理XML 数据。

8.其他高级函数:如PIVOT和UNPIVOT,用于将行转换为列或列转换为行。

9.分析函数:如RANK(), DENSE_RANK(), ROW_NUMBER(), LAG(), LEAD()等,用于执行窗口函数操作。

10.表值函数:如TVFs (Table-Valued Functions),允许您创建返回表的结果集的自定义函数。

11.CLR 集成:通过 .NET CLR (Common Language Runtime) 集成,可以在SQL Server 中编写C# 或其他 .NET 语言代码并执行它们。

sql函数大全

sql函数大全

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值转化为字符值。

sql server 数学函数

sql server 数学函数

sql server 数学函数
在 SQL Server 中,有许多数学函数可用于执行各种数学计算。

以下是一些常用的 SQL Server 数学函数:
1. 聚合函数 (Sum、Count、Average、Max、Min):用于计算一列或多列的总和、计数、平均数、最大值和最小值。

2. 平方根函数 (Square Root):用于计算一个数的平方根。

3. 正弦函数 (Sin):用于计算一个数的正弦值。

4. 余弦函数 (Cos):用于计算一个数的余弦值。

5. 正切函数 (Tan):用于计算一个数的正切值。

6. 割函数 (Georgius):用于计算一个数的割函数。

7. 对数函数 (Log):用于计算一个数的对数。

8. 指数函数 (Exp):用于计算一个数的指数。

9. 逆指数函数 (Inv Expo):用于计算一个数的逆指数。

10. 三角函数 (Sin、Cos、Tan、Georgius、Arcsin、Arccos、arctan):用于计算三角函数。

11. 绝对值函数 (Abs):用于计算一个数的绝对值。

12. 条件函数 (If):用于根据指定条件返回不同的结果。

这些函数只是 SQL Server 中众多数学函数的一部分,SQL Server 还支持其他数学函数,如指数对数函数 (ExpLog)、自然对数函数 (Log)、反三角函数 (InvTan)、部分分式函数 (Frac) 等。

sql 函数大全 比较常用的一些函数整理

sql 函数大全 比较常用的一些函数整理

sql 函数大全比较常用的一些函数整理select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。

left()是sql函数。

select 字段1 from 表1 where charindex('云',字段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 (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的小数位数。

如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;当length 小于小数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数小于length ,左边补足空格。

oracle常用sql函数

oracle常用sql函数

oracle常用sql函数Oracle是一款非常优秀的数据库管理系统,它提供了很多强大的功能与工具,其中最基本而实用的功能就是SQL函数了。

下面我们将重点介绍一些常用的Oracle SQL函数,帮助读者更好地了解和掌握这些常用的函数,从而更加有效地处理和管理数据。

一、数值型函数1. ABS()函数:用于计算数值的绝对值,比如ABS(-10)会返回10。

2. CEIL()函数:用于向上取整,比如CEIL(3.14)会返回4。

3. FLOOR()函数:用于向下取整,比如FLOOR(3.14)会返回3。

4. MOD()函数:用于求模,比如MOD(12,5)会返回2。

5. ROUND()函数:用于四舍五入,比如ROUND(3.49)会返回3,而ROUND(3.51)会返回4。

二、字符型函数1. CONCAT()函数:用于连接两个字符串,比如CONCAT('hello','world')会返回helloworld。

2. SUBSTR()函数:用于截取字符串,比如SUBSTR('hello',2,3)会返回ell。

3. UPPER()函数:用于将字符串转换成大写,比如UPPER('hello')会返回HELLO。

4. LOWER()函数:用于将字符串转换成小写,比如LOWER('HELLO')会返回hello。

5. TRIM()函数:用于去掉字符串首尾的空格,比如TRIM(' hello ')会返回hello。

三、日期型函数1. CURRENT_DATE函数:用于获取当前日期,比如SELECT CURRENT_DATE FROM DUAL会返回当前日期。

2. SYSDATE函数:用于获取系统当前时间,比如SELECTSYSDATE FROM DUAL会返回系统当前时间。

3. TO_CHAR()函数:用于将日期转换成字符型,比如TO_CHAR(SYSDATE,'yyyy-mm-dd')会返回当前日期的年月日格式。

sql常用函数及用法

sql常用函数及用法

SQL常用函数及用法一、简介在数据库管理系统中,函数是一种特殊的指令,用于根据给定的参数执行特定的操作并返回结果。

在SQL(Structured Query Language)中,有许多常用的函数,可以帮助开发人员更方便地进行数据查询、计算和转换等操作。

本文将介绍一些常用的SQL函数及其用法,帮助读者快速掌握SQL函数的基本知识。

二、分类SQL函数可以根据功能进行分类,常见的分类包括字符串函数、数值函数、日期函数和聚合函数等。

下面分别介绍这几类函数的常见用法。

2.1 字符串函数字符串函数用于处理和操作文本数据。

以下是一些常见的字符串函数及其用法:•LENGTH(str):返回字符串str的长度。

•SUBSTRING(str, start, len):返回字符串str从位置start开始,长度为len的子串。

•CONCAT(str1, str2):将字符串str1和str2连接起来,并返回结果。

•UPPER(str):将字符串str中的字母转换为大写,并返回结果。

•LOWER(str):将字符串str中的字母转换为小写,并返回结果。

2.2 数值函数数值函数用于处理和操作数值数据。

以下是一些常见的数值函数及其用法:•ROUND(num, digits):将数值num四舍五入到指定的小数位数digits。

•ABS(num):返回数值num的绝对值。

•SQRT(num):返回数值num的平方根。

•FLOOR(num):返回不大于数值num的最大整数。

•CEILING(num):返回不小于数值num的最小整数。

2.3 日期函数日期函数用于处理和操作日期和时间数据。

以下是一些常见的日期函数及其用法:•NOW():返回当前日期和时间。

•DATE_FORMAT(date, format):将日期date按照指定的格式format进行格式化,并返回结果。

•DATE_ADD(date, INTERVAL expr unit):将日期date增加指定的时间间隔expr,并返回结果。

sql中简单的计算函数

sql中简单的计算函数

sql中简单的计算函数SQL是一种结构化查询语言,用于管理数据库中的数据。

在SQL 中,有许多用于执行计算的内置函数。

本文将介绍SQL中一些常用的计算函数。

1. COUNT函数COUNT函数用于计算指定列中的行数。

例如,如果要计算表中某个列中的行数,可以使用以下SQL语句:SELECT COUNT(col_name) FROM table_name;其中,col_name是要计算的列名,table_name是要从中计算行数的表名。

执行此语句后,将返回该列中的行数。

2. SUM函数SUM函数用于计算指定列中的数值的总和。

例如,如果要计算表中某个列中数值的总和,可以使用以下SQL语句:SELECT SUM(col_name) FROM table_name;其中,col_name是要计算总和的列名,table_name是要从中计算总和的表名。

执行此语句后,将返回该列中数值的总和。

3. AVG函数AVG函数用于计算指定列中数值的平均值。

例如,如果要计算表中某个列中数值的平均值,可以使用以下SQL语句:SELECT AVG(col_name) FROM table_name;其中,col_name是要计算平均值的列名,table_name是要从中计算平均值的表名。

执行此语句后,将返回该列中数值的平均值。

4. MAX函数MAX函数用于计算指定列中的最大值。

例如,如果要计算表中某个列中的最大值,可以使用以下SQL语句:SELECT MAX(col_name) FROM table_name;其中,col_name是要计算最大值的列名,table_name是要从中计算最大值的表名。

执行此语句后,将返回该列中的最大值。

5. MIN函数MIN函数用于计算指定列中的最小值。

例如,如果要计算表中某个列中的最小值,可以使用以下SQL语句:SELECT MIN(col_name) FROM table_name;其中,col_name是要计算最小值的列名,table_name是要从中计算最小值的表名。

mssql中常用的字符串函数大集合

mssql中常用的字符串函数大集合

mssql中常用的字符串函数大集合1.绝对值SQL:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select floor(-1.001) value from dual4.取整(截取)S:select cast(-1.002 as int) valueO:select trunc(-1.002) value from dual5.四舍五入S:select round(1.23456,4) value 1.23460O:select round(1.23456,4) value from dual 1.2346 6.e为底的幂S:select Exp(1) value 2.7182818284590451O:select Exp(1) value from dual 2.718281827.取e为底的对数S:select log(2.7182818284590451) value 1O:select ln(2.7182818284590451) value from dual; 1 8.取10为底对数S:select log10(10) value 1O:select log(10,10) value from dual; 19.取平方S:select SQUARE(4) value 16O:select power(4,2) value from dual 1610.取平方根S:select SQRT(4) value 2O:select SQRT(4) value from dual 211.求任意数为底的幂S:select power(3,4) value 81O:select power(3,4) value from dual 8112.取随机数S:select rand() valueO:select sys.dbms_random.value(0,1) value from dual;13.取符号S:select sign(-8) value -1O:select sign(-8) value from dual -1----------数学函数14.圆周率S:SELECT PI() value 3.1415926535897931O:不知道15.sin,cos,tan 参数都以弧度为单位例如:select sin(PI()/2) value 得到1(SQLServer)16.Asin,Acos,Atan,Atan2 返回弧度17.弧度角度互换(SQLServer,Oracle不知道)DEGREES:弧度-〉角度RADIANS:角度-〉弧度---------数值间比较18. 求集合最大值S:select max(value) value from(select 1 valueunionselect -2 valueunionselect 4 valueunionselect 3 value)aO:select greatest(1,-2,4,3) value from dual19. 求集合最小值S:select min(value) value from(select 1 valueunionselect -2 valueunionselect 4 valueunionselect 3 value)aO:select least(1,-2,4,3) value from dual20.如何处理null值(F2中的null以10代替)S:select F1,IsNull(F2,10) value from TblO:select F1,nvl(F2,10) value from Tbl--------数值间比较21.求字符序号S:select ascii(&#39;a&#39;) valueO:select ascii(&#39;a&#39;) value from dual22.从序号求字符S:select char(97) valueO:select chr(97) value from dual23.连接S:select &#39;11&#39;+&#39;22&#39;+&#39;33&#39; valueO:select CONCAT(&#39;11&#39;,&#39;22&#39;)||33 value from dual23.子串位置--返回3S:select CHARINDEX(&#39;s&#39;,&#39;sdsq&#39;,2) valueO:select INSTR(&#39;sdsq&#39;,&#39;s&#39;,2) value from dual23.模糊子串的位置--返回2,参数去掉中间%则返回7S:select patindex(&#39;%d%q%&#39;,&#39;sdsfasdqe&#39;) valueO:oracle没发现,但是instr可以通过第四霾问刂瞥鱿执问?BR&gt; select INSTR(&#39;sdsfasdqe&#39;,&#39;sd&#39;,1,2) value from dual 返回624.求子串S:select substring(&#39;abcd&#39;,2,2) valueO:select substr(&#39;abcd&#39;,2,2) value from dual25.子串代替返回aijklmnefS:SELECT STUFF(&#39;abcdef&#39;, 2, 3, &#39;ijklmn&#39;) valueO:SELECT Replace(&#39;abcdef&#39;, &#39;bcd&#39;, &#39;ijklmn&#39;) value from dual26.子串全部替换S:没发现O:selectTranslate(&#39;fasdbfasegas&#39;,&#39;fa&#39;,&#39;我&#39; ) value from dual 27.长度S:len,datalengthO:length28.大小写转换lower,upper29.单词首字母大写S:没发现O:select INITCAP(&#39;abcd dsaf df&#39;) value from dual30.左补空格(LPAD的第一个参数为空格则同space函数)S:select space(10)+&#39;abcd&#39; valueO:select LPAD(&#39;abcd&#39;,14) value from dual31.右补空格(RPAD的第一个参数为空格则同space函数)S:select &#39;abcd&#39;+space(10) valueO:select RPAD(&#39;abcd&#39;,14) value from dual32.删除空格S:ltrim,rtrimO:ltrim,rtrim,trim33. 重复字符串S:select REPLICATE(&#39;abcd&#39;,2) valueO:没发现34.发音相似性比较(这两个单词返回值一样,发音相同)S:SELECT SOUNDEX (&#39;Smith&#39;), SOUNDEX (&#39;Smythe&#39;)O:SELECT SOUNDEX (&#39;Smith&#39;), SOUNDEX (&#39;Smythe&#39;) from dualSQLServer中用SELECT DIFFERENCE(&#39;Smithers&#39;, &#39;Smythers&#39;) 比较soundex的差返回0-4,4为同音,1最高--------------日期函数35.系统时间S:select getdate() valueO:select sysdate value from dual36.前后几日直接与整数相加减37.求日期S:select convert(char(10),getdate(),20) valueO:select trunc(sysdate) value from dualselect to_char(sysdate,&#39;yyyy-mm-dd&#39;) value from dual38.求时间S:select convert(char(8),getdate(),108) valueO:select to_char(sysdate,&#39;hh24:mm:ss&#39;) value from dual39.取日期时间的其他部分S:DATEPART 和DATENAME 函数(第一个参数决定)O:to_char函数第二个参数决定参数---------------------------------下表需要补充year yy, yyyyquarter qq, q (季度)month mm, m (m O无效)dayofyear dy, y (O表星期)day dd, d (d O无效)week wk, ww (wk O无效)weekday dw (O不清楚)Hour hh,hh12,hh24 (hh12,hh24 S无效)minute mi, n (n O无效)second ss, s (s O无效)millisecond ms (O无效)----------------------------------------------40.当月最后一天S:不知道O:select LAST_DAY(sysdate) value from dual41.本星期的某一天(比如星期日)S:不知道O:SELECT Next_day(sysdate,7) vaule FROM DUAL;42.字符串转时间S:可以直接转或者select cast(&#39;2004-09-08&#39;as datetime) valueO:SELECT To_date(&#39;2004-01-05 22:09:38&#39;,&#39;yyyy-mm-dd hh24-mi-ss&#39;) vaule FROM DUAL;43.求两日期某一部分的差(比如秒)S:select datediff(ss,getdate(),getdate()+12.3) valueO:直接用两个日期相减(比如d1-d2=12.3)SELECT (d1-d2)*24*60*60 vaule FROM DUAL;44.根据差值求新的日期(比如分钟)S:select dateadd(mi,8,getdate()) valueO:SELECT sysdate+8/60/24 vaule FROM DUAL;45.求不同时区时间S:不知道O:SELECT New_time(sysdate,&#39;ydt&#39;,&#39;gmt&#39; ) vaule FROM DUAL; -----时区参数,北京在东8区应该是Ydt-------AST ADT 大西洋标准时间BST BDT 白令海标准时间CST CDT 中部标准时间EST EDT 东部标准时间GMT 格林尼治标准时间HST HDT 阿拉斯加—夏威夷标准时间MST MDT 山区标准时间NST 纽芬兰标准时间PST PDT 太平洋标准时间YST YDT YUKON标准时间Oracle支持的字符函数和它们的Microsoft SQL Server等价函数:函数Oracle Microsoft SQL Server把字符转换为ASCII ASCII ASCII字串连接CONCAT (expression + expression)把ASCII转换为字符CHR CHAR返回字符串中的开始字符(左起)INSTR CHARINDEX把字符转换为小写LOWER LOWER把字符转换为大写UPPER UPPER填充字符串的左边LPAD N/A清除开始的空白LTRIM LTRIM清除尾部的空白RTRIM RTRIM字符串中的起始模式(pattern)INSTR PATINDEX多次重复字符串RPAD REPLICATE字符串的语音表示SOUNDEX SOUNDEX重复空格的字串RPAD SPACE从数字数据转换为字符数据TO_CHAR STR子串SUBSTR SUBSTRING替换字符REPLACE STUFF将字串中的每个词首字母大写INITCAP N/A翻译字符串TRANSLATE N/A字符串长度LENGTH DATELENGTH or LEN列表中最大的字符串GREATEST N/A列表中最小的字符串LEAST N/A如果为NULL则转换字串NVL ISNULL日期函数函数Oracle Microsoft SQL Server日期相加(date column +/- value) orADD_MONTHS DATEADD两个日期的差(date column +/- value) or MONTHS_BETWEEN DATEDIFF当前日期和时间SYSDATE GETDATE()一个月的最后一天LAST_DAY N/A时区转换NEW_TIME N/A日期后的第一个周日NEXT_DAY N/A代表日期的字符串TO_CHAR DATENAME代表日期的整数TO_NUMBER(TO_CHAR)) DATEPART日期舍入ROUND CONVERT日期截断TRUNC CONVERT字符串转换为日期TO_DATE CONVERT如果为NULL则转换日期NVL ISNULL转换函数函数Oracle Microsoft SQL Server数字转换为字符TO_CHAR CONVERT字符转换为数字TO_NUMBER CONVERT日期转换为字符TO_CHAR CONVERT字符转换为日期TO_DATE CONVERT16进制转换为2进制HEX_TO_RAW CONVERT 2进制转换为16进制RAW_TO_HEX CONVERT其它行级别的函数函数Oracle Microsoft SQL Server返回第一个非空表达式DECODE COALESCE当前序列值CURRVAL N/A下一个序列值NEXTVAL N/A如果exp1 = exp2, 返回null DECODE NULLIF用户登录账号ID数字UID SUSER_ID用户登录名USER SUSER_NAME用户数据库ID数字UID USER_ID用户数据库名USER USER_NAME当前用户CURRENT_USER CURRENT_USER用户环境(audit trail) USERENV N/A在CONNECT BY子句中的级别LEVEL N/A合计函数函数Oracle Microsoft SQL ServerAverage AVG AVGCount COUNT COUNTMaximum MAX MAXMinimum MIN MINStandard deviation STDDEV STDEV or STDEVPSummation SUM SUMVariance VARIANCE VAR or VARPOracle还有一个有用的函数EXTRACT,提取并且返回日期时间或时间间隔表达式中特定的时间域:EXTRACT(YEAR FROM 日期)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

sql函数大全一、内部函数1、内部合计函数1)COUNT(*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的和5)A VG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值6)A VG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值2、日期与时间函数1)DAY(DATE/DA TETIME EXPRESSION)返回指定表达式中的当月几号2)MONTH(DATE/DATETIME EXPRESSION)返回指定表达式中的月份3)YEAR(DATE/DA TETIME EXPRESSION)返回指定表达式中的年份4)WEEKDAY(DA TE/DA TETIME EXPRESSION)返回指定表达式中的当周星期几5)DA TE(NOT DATE EXPRESSION)返回指定表达式代表的日期值6)TODAY 返回当前日期的日期值7)CURRENT[FIRST TO LAST] 返回当前日期的日期时间值8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定单位数9)MDY(MONTH,DAY,YEAR)返回标识指定年、月、日的日期值10)DA TETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的日期时间值11)INTERV AL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值12)EXTEND(DATE/DA TETIME 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.000000004)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.56let tmp_float = trunc(4.555,2) --4.554、指数与对数函数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)A TAN(RADIAN EXPRESSION)反正切7)A TAN2(X,Y)返回坐标(X,Y)的极坐标角度组件6、统计函数1)RANGE(COLNAME)返回指定列的最大值与最小值之差= MAX(COLNAME)-MIN (COLNAME)2)V ARIANCE(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,返回数据库服务器的名称,同sitenamedbinfo,返回数据库的相关信息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=DBSERVERNAME2、SITENAME 返回数据库服务器名let tmp_char=SITENAME说明:两者功能相同;3、DBINFO(…SPECIAL_KEYWORD') 返回只关键字值例子1:返回数据中每个表的DBSPACE名称select dbinfo('dbspace',partnum),tabname from systableswhere tabid>99 and tabtype='T' (OK)例子2:返回任何表中插入的最后一个SERIAL值select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1例子3:返回最后一个SELECT,INSERT,UPDA TE,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 版尚要配置HA VE_IFX_IUS 環境變量。

同時在配置時要加入--with_informix=yes 的選項。

ifx_connect: 打開Informix 服務器連接。

ifx_pconnect: 打開Informix 服務器持續連接。

ifx_close: 關閉Informix 服務器連接。

ifx_query: 送出一個query 字符串。

ifx_prepare: 准備query 字符串。

ifx_do: 執行已准備query 字符串。

相关文档
最新文档