首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL Case表达式(条件)

SQL Case表达式是一种条件表达式,用于在SQL查询中根据不同的条件返回不同的结果。它可以根据给定的条件进行逻辑判断,并根据判断结果返回相应的值或执行相应的操作。

Case表达式通常有两种形式:简单Case表达式和搜索Case表达式。

  1. 简单Case表达式: 简单Case表达式用于对一个表达式进行比较,并根据比较结果返回相应的值。它的语法如下:
  2. 简单Case表达式: 简单Case表达式用于对一个表达式进行比较,并根据比较结果返回相应的值。它的语法如下:
  3. 在这个表达式中,expression是要比较的表达式,value1、value2等是可能的取值,result1、result2等是对应取值的返回结果,ELSE子句是可选的,用于指定当没有匹配的值时的默认返回结果。
  4. 例如,假设有一个名为score的字段,根据不同的分数范围返回不同的等级,可以使用简单Case表达式:
  5. 例如,假设有一个名为score的字段,根据不同的分数范围返回不同的等级,可以使用简单Case表达式:
  6. 搜索Case表达式: 搜索Case表达式用于根据多个条件进行比较,并返回满足条件的第一个结果。它的语法如下:
  7. 搜索Case表达式: 搜索Case表达式用于根据多个条件进行比较,并返回满足条件的第一个结果。它的语法如下:
  8. 在这个表达式中,condition1、condition2等是要比较的条件,result1、result2等是对应条件的返回结果,ELSE子句是可选的,用于指定当没有条件满足时的默认返回结果。
  9. 例如,假设有一个名为gender的字段,根据性别返回不同的称谓,可以使用搜索Case表达式:
  10. 例如,假设有一个名为gender的字段,根据性别返回不同的称谓,可以使用搜索Case表达式:

Case表达式在SQL查询中非常常用,可以根据不同的条件进行灵活的数据处理和结果返回。在腾讯云的数据库产品中,例如云数据库 TencentDB for MySQL、TencentDB for PostgreSQL 等都支持使用Case表达式进行数据处理和查询操作。您可以通过访问腾讯云官网了解更多关于这些产品的详细信息和使用方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!

大家可能不习惯SQL大写的习惯,但是真正的规范就是要大写,所以大家要慢慢习惯我用大写的方式讲解。在下面所有的讲解中,我将会以基本语法,案例,联系形式讲解,从而加强对每一个语句的使用和认识。本篇文章是笔者整理了整整一个通宵才写出,希望大家三连好评,谢谢。当然,拥有本篇文章,你将会完全掌握mysql的所有命令使用,不再用去购买或者杂乱学习。本篇内容暂时讲解数据库的筛选部分,因为数据库的最初入门如创建,备份等都有讲过,魔法传送:传送门 该传送门内容有:

02

MySQL基础知识之函数

SELECT EXTRACT(MINUTE FROM '2011-11-11 11:11:11') -> 11 FROM_DAYS(n)计算从 0000 年 1 月 1 日开始 n 天后的日期 SELECT FROM_DAYS(1111) -> 0003-01-16 HOUR(t)返回 t 中的小时值 SELECT HOUR('1:2:3') -> 1 LAST_DAY(d)返回给给定日期的那一月份的最后一天 SELECT LAST_DAY("2017-06-20"); -> 2017-06-30 LOCALTIME()返回当前日期和时间 SELECT LOCALTIME() -> 2018-09-19 20:57:43 LOCALTIMESTAMP()返回当前日期和时间 SELECT LOCALTIMESTAMP() -> 2018-09-19 20:57:43 MAKEDATE(year, day-of-year)基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期 SELECT MAKEDATE(2017, 3); -> 2017-01-03 MAKETIME(hour, minute, second)组合时间,参数分别为小时、分钟、秒 SELECT MAKETIME(11, 35, 4); -> 11:35:04 MICROSECOND(date)返回日期参数所对应的微秒数 SELECT MICROSECOND("2017-06-20 09:34:00.000023"); -> 23 MINUTE(t)返回 t 中的分钟值 SELECT MINUTE('1:2:3') -> 2 MONTHNAME(d)返回日期当中的月份名称,如 November SELECT MONTHNAME('2011-11-11 11:11:11') -> November MONTH(d)返回日期d中的月份值,1 到 12 SELECT MONTH('2011-11-11 11:11:11') ->11 NOW()返回当前日期和时间 SELECT NOW() -> 2018-09-19 20:57:43 PERIOD_ADD(period, number)为 年-月 组合日期添加一个时段 SELECT PERIOD_ADD(201703, 5); -> 201708 PERIOD_DIFF(period1, period2)返回两个时段之间的月份差值 SELECT PERIOD_DIFF(201710, 201703); -> 7 QUARTER(d)返回日期d是第几季节,返回 1 到 4 SELECT QUARTER('2011-11-11 11:11:11') -> 4 SECOND(t)返回 t 中的秒钟值 SELECT SECOND('1:2:3') -> 3 SEC_TO_TIME(s)将以秒为单位的时间 s 转换为时分秒的格式 SELECT SEC_TO_TIME(4320) -> 01:12:00 STR_TO_DATE(string, format_mask)将字符串转变为日期 SELECT STR_TO_DATE("August 10 2017", "%M %d %Y"); -> 2017-08-10 SUBDATE(d,n)日期 d 减去 n 天后的日期 SELECT SUBDATE('2011-11-11 11:11:11', 1) ->2011-11-10 11:11:11 (默认是天) SUBTIME(t,n)时间 t 减去 n 秒的时间 SELECT SUBTIME('2011-11-11 11:11:11', 5) ->2011-11-11 11:11:06 (秒) SYSDATE()返回当前日期和时间 SELECT SYSDATE() -> 2018-09-19 20:57:43 TIME(expression)提取传入表达式的时间部分 SELECT TIME("19:30:10"); -> 19:30:10 TIME_FORMAT(t,f)按表达式 f 的要求显示时间 t SELECT TIME_FORMAT('11:11:11','%r') 11:11:11 AM TIME_TO_SEC(t)将时间 t 转换为秒 SELECT TIME_TO_SEC('1:12:00') -> 4320 TIMEDIFF(time1, time2)计算时间差值 SELECT TIMEDIFF("13:10:11", "13:10:10"); -> 00:00:01 TIMESTAMP(expression, interval)单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和 SELECT TIMESTAM

04
领券