表库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>> 求最小值

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。