SQL查询常用函数

254 阅读2分钟

数学函数

  • abs(num) 返回数值表达式的绝对值。
  • ceil(num) 返回大于或等于数值表达式的最小整数。
  • floor(num) 返回小于或等于数值表达式的最大整数

字符串函数

  • insert(target, index len content): 添加数据
  • upper(english): 转为大写
  • lower(english): 转为小写
  • left(str, len): 截取str前len个字符
  • right(str, len): 截取str后len个字符
  • substring(str, index, len):截取str从index开始,长度为len的字符串
  • reverse(str): 反序输出

日期函数

  • curdate() 获取当前日期 select curdate();
  • getdate() 获取当前时间 select getdate();
  • now() 获取当前日期+时间 select now();
  • datediff(d1, d2) 获取d1和d2间隔的天数 select datediff('2021-08-25','2020-09-14');
  • adddate(d, n): 日期n天后的日期 select adddate('2021-08-25', 4);
  • subdate(d, n): 日期n天前的日期 select subdate('2021-08-25', 4);

聚合函数

  • count(col)返回指定列中非Null值的平均值
  • avg(col)返回指定列的平均值
  • min(col)返回指定列的最小值
  • max(col)返回指定列的最大值
  • sum(col)返回指定列的所有值的和

条件查询

groud by 分组查询

select name avg(score) from course group by name

order by 排序查询

升序 select * from course order by score desc;
降序 select * from course order by score asc;

比较运算符

select score>80 from course
select score==80 from course
select score<80 from course
select score!=80 from course

逻辑运算符

select score>80&&score<90 from course
select score>80||level>1 from course

is null 判断是否为空

select name is null from course;

between num1 and num2 返回在num1和num2之间的值

select score between 90 and 100 from course;

in 返回在某个确定区间的值

select score from course where id in(1,2,3);

like 模糊查询

select score from course where name like '%动物%';
select score from course where name like '动物%';以动物开头
select score from course where name like '%动物';以动物结尾