表库SQL函数大全
函数名称 | SQL | 用途说明 |
[数据状态:未完成] | 0′ | 表示流程数据还在流转中 |
[数据状态:已完成] | 1′ | 表示流程数据已经流转完毕 |
[数据状态:已中止] | -‘ | 表示流程数据在流转过程中被临时中止了 |
当前报表 | T.H.I.S.R.E.P’ | 获取当前报表的另存为Excel文件(目前只对新增邮件公式有效). |
当前系统日期 | Cast(CONVERT(char(10), getdate(), 120) As DateTime) | 返回 当前系统日期 |
当前系统日期时间 | Cast(CONVERT(char(19), getdate(), 120) As DateTime) | 返回 当前系统日期时间 |
登录用户兼职部门 | O.P.E.R.D.E.P.2′ | 返回当前登录用户的兼职部门名称 |
登录用户兼职部门编码 | O.P.E.R.D.P.B.2′ | 返回当前登录用户的兼职部门编码 |
登录用户兼职角色 | O.P.E.R.R.O.L.2′ | 返回当前登录用户所兼职的角色 |
登录用户角色 | O.P.E.R.R.O.L.E’ | 返回当前登录用户所拥有的角色 |
登录用户所在部门 | O.P.E.R.D.E.P.T’ | 返回当前登录用户所在的部门名称 |
登录用户所在部门编码 | O.P.E.R.D.P.B.M’ | 返回当前登录用户所在的部门编码 |
登录用户姓名 | O.P.E.R.N.A.M.E’ | 返回当前登录用户的姓名 |
登录用户帐户 | O.P.E.R.L.N.A.M.E’ | 返回当前登录用户的登陆帐户 |
定位( <<字符串参数1>> , <<字符串参数2>> ) | CharIndex(arg1 , arg2 ) | 返回<<字符串参数1>>在<<字符串参数2>>中的位置, 例如:定位( ‘A’ , ‘ABC’ ) = 1 |
提取分钟 | DATEPART(mi,arg1 ) | 返回传入<<时间参数1>>的分钟部分 |
合计值(<<数值参数1>>) | SUM(arg1) | 对 <<数值参数1>> 进行求和 |
合计值_唯一(<<数值参数1>>) | SUM(DISTINCT arg1) | 对 <<数值参数1>> 进行求和,但不包含重复值,例如:合计值_唯一(价格),相当于 Select Sum(Distinct 价格) from 商品表 |
回车换行 | Char(13)+Char(10) | 返回 回车换行字符 |
记录数(<<参数1>>) | COUNT(arg1) | 统计 项目参数1 在数据集中出现的次数例如:记录数(姓名),相当于 Select Count(姓名) from 学生表 |
记录数_唯一(<<参数1>>) | COUNT(DISTINCT arg1) | 统计 项目参数1 在数据集中出现的次数,但不包含重复值,例如:记录数_唯一(姓名),相当于 Select Count(Distinct 姓名) from 学生表 |
季初([年份参数1],[季度参数]) | dbo.GetSeasonFirst(arg1,arg2) | 返回 <<年份参数1>> <<季度参数2>>所指定季度的第一天 |
季度值(<<日期参数1>>) | DATEPART(qq,arg1) | 从 <<日期参数1>> 中获取季度值,例如:季度值(‘2006-10-26’) = 4 |
季末([年份参数1],[季度参数2]) | dbo.GetSeasonLast( arg1,arg2) |
返回 <<年份参数1>> <<季度参数2>>所指定季度的最后一天 |
简拼(<<字符参数>>) | dbo.PY(arg1) | 获取字符参数中中文的拼音首字母 |
金额大写([金额参数]) | dbo.MoneyToChinese(arg1) | 获取当前数字金额的中文大写 |
绝对值(<<数值参数1>>) | ABS(arg1) | 返回给定数字表达式的绝对值。例如: ABS(-5) = 5 |
空格串(<<长度>>) | SPACE(arg1) | 返回指定长度的空格字符串,例如:空格串(3) = ‘ ‘ |
秒(<<时间参数1>>) | DATEPART(ss,arg1) | 返回传入<<时间参数1>>的秒部分 |
年初(<<年份参数1>>) | Cast(Cast(arg1 as Char(4))+’-1-1′ as DateTime) | 返回 <<年份参数1>> 所指定年的第一天 |
年份值(<<日期参数1>> ) | DATEPART(yyyy ,arg1) | 从 <<日期参数1>> 中取出年份,例如:年份值(‘2006-10-26’) = 2006 |
年季值(<<日期参数1>>) | dbo.GetYS(arg1) | 返回<<日期参数1>>所指定日期的年季组合值,例如: 年季值(‘2006-10-26’) = 200604 |
年末(<<年份参数1>>) | Cast(Cast(arg1 as Char(4))+’-12-31′ as DateTime) | 返回 <<年份参数1>> 所指定年的最后一天 |
年日值(<<日期参数1>>) | DATEPART(dy,arg1) | 从 <<日期参数1>> 中获取是当年中的第几天 |
年月日值(<<日期时间参数1>>) | CONVERT(char(8),arg1,112) | 返回<<日期时间参数1>>所指定日期的年月日组合值,例如: 年月值(‘2006-10-26’) = 20061026 |
年月值(<<日期参数1>> ) | dbo.GetYM(arg1) | 返回<<日期参数1>>所指定日期的年月组合值,例如: 年月值(‘2006-10-26’) = 200610 |
平均值(<<数值参数1>>) | AVG(cast(arg1 as float)) | 对 <<数值参数1>> 求平均值 |
平均值_唯一(<<数值参数1>>) | AVG(DISTINCT cast(arg1as float)) | 对 <<数值参数1>> 求平均值,但不包含重复值例如:平均值_唯一(价格)相当于 Select Avg(Distinct 价格) from 商品表 |
取右子字符串(<<字符串>>,<<长度>>) | RIGHT(arg1,arg2) | 从右边开始,返回字符串<<字符串>>长度为<<长度>>的子字符串。例如:取右子字符串(‘ABCDEFG’ , 3) = ‘EFG’ |
取整(<<数值参数1>>) | ROUND(arg1, 0,1) | 返回浮点数的整数部分,例如:取整(100.567) = 100 |
取子字符串(<<字符串>>,<<起始位置>>,<<长度>>) | SUBSTRING(arg1,arg2,arg3) | 返回字符串指定位置和长度的子字符串,例如:取子字符串(‘abcdefg’,2,3) = ‘bcd’ |
取子字符串2([字符串[ , [起始位置]) | dbo.GetSubString(arg1 , arg2 ) | 返回字符串<<字符串>>从指定位置<<起始位置>>开始右边的所有字符,例如:取子字符串(‘abcdefg’,2) = ‘bcdefg’ |
取左子字符串(<<字符串>>,<<长度>>) | LEFT(arg1,arg2) | 从左边开始,返回字符串<<字符串>>长度为<<长度>>的子字符串。例如:取左子字符串(‘ABCDEFG’ , 3) = ‘ABC’ |
去空格(<<字符串>>) | rtrim(ltrim(arg1)) | 把字符串两边的空格去除,例如:去除字符串两边空格(‘ ABC ‘) = ‘ABC’ |
全局变量( <<变量名称参数>>) |
dbo.GetGlobalVar(arg1) | 根据传入的全局参数名称返回对应的变量值 |
全球唯一值 | Cast(NEWID() as Char(36)) | 返回一个全球唯一字符串 |
日期部分(<<日期时间参数1>> ) | dbo.DateTimeToFormatStr2(arg1 ) | 返回 <<日期时间参数1>> 的日期部分,例如:日期部分(‘2013-1-8 12:30:50’) = ‘2013-01-08’ |
日期加减(<<时间单位>>,<<加减量>>,<<基准日期>>) | DATEADD(arg1,arg2,arg3) | 在基准日期的基础上,通过加减一定的时间单位后,得到新的日期。其中<<时间单位>> 的取值范围是:yyyy表示年,qq表示季,mm表示月,ww表示周,dd表示天,hh表示小时,mi 表示分钟,ss表示秒<<加减量>>:为整数 |
日期时间转字符串( <<日期时间参数1>> ) |
dbo.DateTimeToFormatStr( arg1) |
返回 <<日期时间参数1>> 的字符串类型,如果<<日期时间参数1>>是空值则返回空字符串 |
日期转字符串( <<日期参数1>> ) |
dbo.DateToFormatStr( arg1) |
返回 <<日期参数1>> 的字符串类型,如果<<日期参数1>>是空值则返回空字符串 |
日期转字符串2( <<日期参数1>> ) |
dbo.DateTimeToFormatStr2( arg1 ) |
返回 <<日期参数1>> 的字符串类型,如果<<日期时间参数1>>是空值则返回空字符串,与“日期转字符串”的差别是月份和日总是两位的,例如:日期转字符串2(‘2013-1-8 12:30:50’) = ‘2013-01-08’ |
上季( <<日期参数1>> ) |
dbo.GetPriorS(arg1 ) | 返回<<日期参数1>>所指定日期的上一季的年季组合值,例如: 上季(‘2006-12-26’) = 200603 |
上年( <<日期参数1>> ) |
dbo.GetPriorY(arg1 ) | 返回<<日期参数1>>所指定日期的上一年,例如: 上年(‘2006-12-26’) = 2005 |
上月(<<日期参数1>>) | dbo.GetPriorM(arg1) | 返回<<日期参数1>>所指定日期的上一月的年月组合值,例如: 上月(‘2006-12-26’) = 200611 |
时间部分(<<日期时间参数1>> ) | dbo.GetTimeStr(arg1 ) | 返回 <<日期时间参数1>> 的时间部分字符串类型,例如:获取时间字符串(‘2013-01-08 12:30:50′) = ’12:30:50’ |
时间间隔(<<时间单位>>,<<起始日>>,<<终止日期>>) | DATEDIFF(arg1,arg2,arg3 ) | 返回两个指定日期间隔数,其中<<时间单位>> 的取值范围是:yyyy表示年,qq表示季,mm表示月,ww表示周,dd表示天,hh表示小时,mi 表示分钟,ss表示秒。举例:时间间隔(mm,’2003-5-20′,’2003-6-20′) = 1 |
输入值 | INPUT_VALUE<arg1,arg2> | |
数值转日期(<<年>> ,<<月>>,<<日>>) | dbo.GetDateFromYMD(arg1,arg2,arg3) | 返回由 <<年>> 、 <<月>> 、 <<日>> 三个参数构成的日期,例如:数值转日期(2008,8,2) = 2008-08-02 |
数值转字符串(<<数值参数1>>) | Cast(arg1As VarChar(50)) | 把数值转换为字符串,例如:转换为字符串(1) + ‘_’ + 转换为字符串(2) = ‘1_2’ |
四舍五入(<<数值参数1>>,<<保留小数位数2>>) | Cast(ROUND(arg1,rg2) as float) | 返回数字表达式并四舍五入为指定的长度或精度,例如:四舍五入(100.567,2) = 100.57 |
随机数(<<种子参数>>) | RAND(arg1) | 返回 0 到1 之间的随机小数值,不同的<<种子参数>>可以产生不同的随机数,省略<<种子参数>>时系统会自动产生 |
替换字符串(<<待搜索的字符参数>>,<<待查找的字符参数>>,<<替换用的字符参数>>) | REPLACE(arg1,arg2,arg3) | 下例用 xxx 替换 abcdefghi 中的字符串 cde。REPLACE(‘abcdefghicde’,’cde’,’xxx’) = ‘abxxxfghixxx’ |
条码(<<内容参数1>>,<<类型参数2>>,<<大小参数3>>) | dbo.BarCode(arg1,arg2,arg3) | 产生指定类型的条形码和二维码,内容参数1 : 要产生条形码或者二维码的数据,类型参数2 : 编码类型的代号,常用的有 6是条形码,34是二维码,大小参数3 : 影响条形码和二维码大小的因子,1 是原始大小,小于1就是缩小,大于1就是放大,支持小数,例如1.2 表示1.2倍, |
小时(<<时间参数1>>) | DATEPART(hh,arg1) | 返回传入<<时间参数1>>的小时部分 |
星期(<日期参数1>>) | DATEPART(dw,arg1) | 从 <<日期参数1>> 中获取是星期几 |
星期值(<<日期参数1>>) | DATEPART(wk,arg1) | 从 <<日期参数1>> 中获取是当年中的第几个星期 |
选择取值(如果<<条件参数1>>那么<<取值参数2>>否则<<取值参数3>>) | Case When arg1 hen arg2 else arg3 end | 如果<<条件参数1>>成立,那么就返回<<取值参数2>>,否则就返回<<取值参数3>>,该函数支持嵌套 |
月初(<<年份参数1>>,<<月份参数2>>) | dbo.GetMonthFirst(arg1,arg2) | 返回 <<年份参数1>> <<月份参数2>>所指定月份的第一天 |
月份值(<<日期参数1>>) | DATEPART(mm ,arg1) | 从 <<日期参数1>> 中获取月份值,例如:月份值(‘2006-10-26’) = 10 |
月末(<<年份参数1>> , <<月份参2>>) | dbo.GetMonthLast(arg1,arg2) | 返回 <<年份参数1>> <<月份参数2>>所指定月份的最后一天 |
月日值(<<日期参数1>>) | DATEPART(dd,arg1) | 从 <<日期参数1>> 中获取月份中的日期值,例如:月日值(‘2006-10-26’) = 26 |
转大写(<<字符串>>) | UPPER(arg1) | 把字符串转成大写字符串,例如:转大写(‘aBc’) = ‘ABC’ |
转换空值(<<字段参数1>>,<<值参数2>>) | ISNULL(arg1,arg2) | 如果<<字段参数1>>为空(NULL),那么就返回<<值参数2>>,否则还是返回<<字段参数1>>的值,例如:转换空值( 数量字段, 0 )注意:在绝大多数情况下都不需要使用该函数,只有极个别的时候才需要使用,滥用该函数会引起效率下降。 |
转小写(<<字符串>>) | LOWER(arg1) | 把字符串转成小写字符串,例如:转大写(‘Abc’) = ‘abc’ |
字符串长度(<<字符串参数1>>) | LEN(arg1) | 返回给定字符串表达式的字符个数,其中不包含尾随空格,例如:字符串长度(‘abcdefg’) = 7 |
字符串转日期(<<字符串参数1>> ) | Cast(arg1 As DateTime) | 把日期字符串转为日期类型,例如:字符转日期(‘2006-12-6’) =2006-12-6 |
字符转数值(<<数值参数1>> ) | Cast(arg1 As float) | 把字符串转换为数值, 例如:字符转数值(‘1’)+ 2 = 3 |
最大值(<<数值参数1>>,<<条件参2>>) | M.A.X(*<<arg1>>,<<arg2>>*) | 该函数专用于筛选条件 |
最大值(<<数值参数1>> ) | MAX(arg1 ) | 对 <<数值参数1>> 求最大值 |
最小值(<<数值参数1>>,<<条件参2>>) | M.I.N(*<<arg1>>,<<arg2>>*) | 该函数专用于筛选条件 |
最小值(<<数值参数1>> ) | MIN(arg1 ) | 对 <<数值参数1>> 求最小值 |
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。