标准函数

阅读(459) 标签: 标准函数,

DQL查询语法中还支持使用以下函数:

字符串函数

标准函数

含义

LOWER(str)

转成小写。

UPPER(str)

转成大写。

ISDIGIT(str)

判定str是否全由数字构成。

ISALPHA(str)

判定str是否全由字母构成。

LTRIM(str)

删除前导空白。

RTRIM(str)

删除后缀空白。

TRIM(str)

删除两端空白。

SUBSTR(str,start,len)
  SUBSTR(str,start)

子串。

LEN(str)

串长。

INDEXOF(sub,str[,start])

子串的位置。

IPOS(str1,str2[,n])

在字符串str1中,从左边第n位开始查找子串str2,返回str2的位置。n缺省为1。大小写不敏感。

GETSUBS(str1,str2[,n])

在字符串str1中,从左边开始查找第n个字符串str2,找到后返回str2位置后面的串。n缺省为1

IGETSUBS (str1,str2[,n])

在字符串str1中,从左边开始查找第n个字符串str2,找到后返回str2位置后面的串。n缺省为1。大小写不敏感。

LEFT(str,len)

str中最左边len个字符。

RIGHT(str,len)

str中最右边len个字符。

CONCAT(str1,str2)

连接2个字符串。

CONCAT(str1,str2,str3…)

连接多个字符串。

CONCAT_WS(d,str1,str2,…)

用分隔符d连接多个字符串。

REPLACE(str,sub,rplc)

str中的sub替换成rplc

日期时间函数

标准函数

含义

YEAR(d)

取年。

MONTH(d)

取月。

DAY(d)

取天。

HOUR(d)

取小时。

MINUTE(d)

取分钟。

SECOND(d)

取秒。

QUARTER(d)

取季度。

TODAY()

今天。

NOW()

当前时间。

ADDYEARS(d, n)

增加年数。

ADDMONTHS(d, n)

增加月数。

ADDDAYS(d, n)

增加天数。

ADDHOURS(d, n)

增加小时数。

ADDMINUTES(d, n)

增加分钟数。

ADDSECONDS(d, n)

增加秒数。

DAYOFYEAR(d)

当年中第几天。

DAYOFWEEK(d)

星期几,1表示星期日。

WEEKOFYEAR(d)

当年中第几星期。

YEARSDIFF(d1,d2)

计算两个日期相差年数。

MONTHSDIFF(d1,d2)

计算两个日期相差月数。

DAYSDIFF(d1,d2)

计算两个日期相差天数。

HOURSDIFF(d1,d2)

计算两个日期相差小时数。

MINUTESDIFF(d1,d2)

计算两个日期相差分钟数。

SECONDSDIFF(d1,d2)

计算两个日期相差秒数。

TRUNCHOUR(d)

截断到小时。

TRUNCMINUTE(d)

截断到分钟。

TRUNCSECOND(d)

截断到秒。

MONTHSTART(d)

当月首日。

MONTHEND(d)

当月末日。

WEEKSTART(d)

当周首日,周一为每周第一天。

WEEKEND(d)

当周末日,周一为每周第一天。

QUARTERSTART(d)

当季首日。

QUARTEREND(d)

当季末日。

YEARSTART(d)

当年首日。

YEAREND(d)

当年末日。

MONTHDAYS(d)

当月日数。

QUARTERDAYS(d)

当季日数。

YEARDAYS(d)

当年日数。

ITX(s)

根据时间分量生成时间区间常数,s表示秒。

ITX (null,d)

根据时间分量生成时间区间常数,d表示日,第一个参数值固定为null

ITX(null,d,m)

根据时间分量生成时间区间常数,d表示日,m表示月,第一个参数值固定为null

ADDX(t,k)

日期加法。

k可以ITX()返回的时间区间常数。

t是日期/日期时间且 k是数值时,表示日

t / k是其它数据类型则正常做加法。

SUBX(t1,t2)

日期减法。

t1是日期/日期时间且 t2是数值时,t2 表示日

t1 / t2是其它数据类型则正常做减法。

CMPX(it1,it2)

日期比较。

it1 / it2 可以是日期/时间/日期时间/时间区间常数/数值。

数值函数

标准函数

含义

ABS(x)

求绝对值。

ACOS(x)

求反余弦。

ASIN(x)

求反正弦。

ATAN(x)

求反正切。

ATAN2(x,y)

求反正切。

CEIL(x)

求大于等于x的最小整数。

CEIL(x,n) 

根据精度nx向上取整;n缺省为0n>0 保留 n 位小数,n=0 取整到个位,n<0 按十位、百位、千位等整数位向上取整。

COS(x)

求余弦。

EXP(x)

ex次幂。

FLOOR(x)

求小于等于x的最大整数。

FLOOR(x,n)

根据精度nx向下取整;n缺省为0n>0 保留 n 位小数,n=0 取整到个位,n<0 按十位、百位、千位等整数位向下取整。

LN(x)

求自然对数。

LOG10(x)

求以10为底的对数。

MOD(x,m)

xm

POWER(x,y)

xy次幂。

ROUND(x,n)

四舍五入。

SIGN(x)

求符号。

SIN(x)

求正弦。

SQRT(x)

平方根。

TAN(x)

正切。

TRUNC(x,n)

截断。

RAND(seed)

随机数。

PI() 

计算圆周率。

转换函数

标准函数

含义

ASCII(str)

串中最左边字符的ASCII码。

CHR(n)

asciin转换成一个字符。

INT(x)

字符串或数值转成整数。

DECIMAL(x,len,scale)

字符串或数值转成数值。

TIMESTAMP(d[,str])

d根据格式串str转换成日期时间类型。str缺省为yyyy-MM-dd HH:mm:ss

NUMTOCHAR(d)

数值转成字符串。

DATETOCHAR(date)

将日期转化成yyyy-MM-dd HH:mm:ss格式串。

DATETIME(date,time)

将日期date和时间time拼成日期时间。

DATE(sd[,fd])

sd根据格式串fd转换成日期类型。fd缺省为yyyy-MM-dd 

DATE(y,m,d)

将整数y,m,d转换成日期型数据,失败则返回null

TIME(sdt[,fd])

sdt根据格式串fd转换成时间类型。fd缺省为HH:mm:ss

TIME(h,m,s)

将整数h,m,s转换成时间型数据。

CAST(x,y)

x转换为数据类型y

CHN(n)  

将数字n转为中文数字写法。

STRING(exp[,format][,loc])

exp 转为字符串类型,可通过 format 格式化输出、loc 指定语言地区。参数format loc 可省略。

其它

标准函数

含义

NULLIF(x1,x2)

x1=x2返回null,否则返回x1

COALESCE(x1,…)

返回第一个非null的参数。

CASE(when1,then1,…[,else])

when=true则返回相应的then,否则返回else