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
2
SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate
FROM Products
  • 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…):取得值最大值,数字按大小排列,字符按首字符比较,结果相等比较下一位。