sql函数
sql常用函数
top关键字属性SQL Server,平常并没有使用SQL Server。
函数
- upper(str)/ucase(str):返回字符串str,将所有字符改为大写
- lower(str)/lcase(str):返回字符串str,将所有字符改为小写
- first(column_name):返回指定的字段中第一个记录的值,可使用 ORDER BY 语句对记录进行排序
- last(column_name):返回指定的字段中最后一个记录的值,可使用 ORDER BY 语句对记录进行排序
- mid(str,start,length):用于从文本字段中提取字符,str要提取的字段(必须),start开始位置(必须),length提取长度,若为空,则返回剩余字符串
- now():返回当前日期
- format(column_name,format):
1 | SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate |
replace(X,old,new) n:在X中查找old,并替换成new
instr(X,STR[,START][,N):从X中查找str,可以指定从start开始,也可以指定从n开始
ltrim(X[,TRIM_STR]):把X的左边截去trim_str字符串,缺省截去空格
rtrim(X[,TRIM_STR]):把X的右边截去trim_str字符串,缺省截去空格
trim([TRIM_STR FROM]X):把X的两边截去trim_str字符串,缺省截去空格
trunc(x[,y]):直接截取,不四舍五入。
在缺省 y 时,默认 y=0;比如:TRUNC (3.56)=3。
Y是正整数,就是四舍五入到小数点后 y 位。TRUNC (5.654,2)=5.65。
y 是负整数,四舍五入到小数点左边|y|位。TRUNC (351.654,-2)=300。
add_months(d,n),在某一个日期 d 上,加上指定的月数 n,返回计算后的新日期。d 表示日期,n 表示要加的月数
1 | SELECT SYSDATE,add_months(SYSDATE,5) FROM dual; |
- last_day(d),返回指定日期当月的最后一天
1 | SELECT SYSDATE,last_day(SYSDATE) FROM dual; |
- nvl(X,VALUE):如果X为空,返回value,否则返回X
1 | SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000; |
to_number():将字符型数据转换成数字型
to_date():将字符型数据转换成日期型
to_char():将日期转换成字符串
ceil():向上取整,结果为124。
select ceil(123.123) from dual;floor():向下取整,结果为123。
select floor(123.123) from dual;trunc(n1,n2)取整函数,n1代表字符串,n2代表小数位数,结果为123.12。
select trunc(123.125,2) from dual;round(n1,n2)四舍五入,n1代表字符串,n2代表小数位数,结果为123.57。
1
select round(123.567) from dual;
zeroifnull(expr):如果表达式expr的值为0,则返回null,否则返回表达式expr的值。
1 | select zeroifnull(count(DISTINCT userid)) from table_name; |
- nullifzero(expr):如果表达式expr的值为null,则返回0,否则返回表达式expr的值。
- ln(y):以e为底的y的对数,y > 0。
- log(x,y):以x为底的y的对数。
- exp(y):e的y次幂。
- greatest(express1, express2…):取得值最大值,数字按大小排列,字符按首字符比较,结果相等比较下一位。