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

在MariaDB 10.2.15中使用CASE WHEN DATE语句

在MariaDB 10.2.15中,使用CASE WHEN DATE语句可以根据条件对日期进行判断和处理。

CASE WHEN DATE语句是一种条件表达式,用于根据给定的条件执行不同的操作。它的语法如下:

代码语言:txt
复制
CASE WHEN condition1 THEN result1
     WHEN condition2 THEN result2
     ...
     ELSE result
END

其中,condition1、condition2等是条件表达式,result1、result2等是对应条件为真时的结果。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果。

在使用CASE WHEN DATE语句时,可以将DATE函数用于条件表达式中,以对日期进行判断。例如,假设有一个名为orders的表,其中包含了订单的信息,包括订单日期(order_date)和订单金额(order_amount)。我们想要根据订单日期的不同范围,计算不同的折扣率。

可以使用以下语句实现:

代码语言:txt
复制
SELECT order_date, order_amount,
       CASE WHEN order_date < '2022-01-01' THEN order_amount * 0.9
            WHEN order_date >= '2022-01-01' AND order_date < '2022-06-01' THEN order_amount * 0.8
            ELSE order_amount * 0.7
       END AS discounted_amount
FROM orders;

上述语句中,根据订单日期的不同范围,分别计算了不同的折扣率,并将计算结果作为新的列discounted_amount返回。

在MariaDB中,CASE WHEN DATE语句可以灵活地应用于各种场景,例如根据日期范围进行条件过滤、根据日期进行分组统计等。

腾讯云提供了MariaDB的云数据库服务,您可以通过腾讯云MariaDB产品了解更多相关信息:腾讯云MariaDB产品介绍

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

相关·内容

mysql 分组统计 case when 及 if 语句使用

分组:根据地区、类别、中文名称分类; 判断:根据类型进行判断同时要求和 因为中文名称重复的就是1部,所以统计的时候,要使用到distinct去重。... when   t.play_classification = 10  then t.submit_num  else 0 end  ) as  '电视剧集数' , SUM(CASE when   t.play_classification... = 20  then t.submit_num  else 0 end  ) as  '电影集数' , SUM(CASE when   t.play_classification = 30  then... t.submit_num  else 0 end  ) as  '动画片集数', # -- 题材情况 SUM(CASE when t.theme_type = 1  then t.submit_num...', SUM(CASE when t.theme_type = 3  then t.submit_num  else 0 end  ) as '情感偶像', SUM(CASE when t.theme_type

2.5K10
  • MySQL 存储过程与函数(精简笔记)

    ------+ 1 row in set (0.00 sec) 创建存储函数 存储函数的使用方法与MySQL内部函数的使用方法是一样的,MySQL中,用户自己定义的存储函数与MySQL内部函数是一个性质的...声明使用变量 变量可以子程序中声明并使用,这些变量的作用范围实在BEGIN...END程序中,本小姐将介绍定义和赋值一个变量,定义变量的语句如下: DECLARE var_name[,varname]...中用来构造控制流程的语句有:IF,CASE,LOOP,LEAVE,ITERATE,REPEAT,WHILE等,每个流程中可能包含一个单独的语句,或者是使用BEGIN...END构造的复合语句,构造可以被嵌套...; SET var=parameter+1; CASE var WHEN 0 THEN select "这个数值是0呀"; WHEN...MariaDB [lyshark]> select case 2 when 1 then 'one' when 2 then 'two' else 'more' end; +--------------

    1.9K10

    MariaDB 存储过程与函数详解

    ;+------+| @num |+------+| 3 |+------+1 row in set (0.00 sec)创建存储函数存储函数的使用方法与MySQL内部函数的使用方法是一样的,MySQL...声明使用变量变量可以子程序中声明并使用,这些变量的作用范围实在BEGIN...END程序中,本小姐将介绍定义和赋值一个变量,定义变量的语句如下:DECLARE var_name[,varname].....:IF,CASE,LOOP,LEAVE,ITERATE,REPEAT,WHILE等,每个流程中可能包含一个单独的语句,或者是使用BEGIN...END构造的复合语句,构造可以被嵌套.IF-THEN-ELSE...----+| 07:23:04 |+----------------+1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)CASE-WHEN-THEN-ELSE...SET var=parameter+1; CASE var WHEN 0 THEN select "这个数值是0呀"; WHEN 1 THEN

    1.5K20

    一次INSERT查询的无逗号SQL注入漏洞构造利用($10k)

    本文分享的是作者一次众测中的SQL报错型注入漏洞发现过程,有趣之处在于,在后续漏洞利用的构造中,如果在目标服务端数据库逻辑的INSERT查询中使用逗号(Comma),将导致构造的Payload不可用,...这种情况下,作者通过综合Time-based注入、Case When和Like操作成功实现了SQL注入,漏洞获得了厂商$10,000美金的奖励。...第一步,我们需要找到一个代替IF条件且能用逗号和其它语句共同作用的方法语句。...这里的话,选用case when比较适合,所以这里利用它的一个基本用法为: MariaDB [dummydb]> select CASE WHEN ((select substring('111',1,1...另外,我们还要找到代替substring的方法,那么,我们可以用Like操作来实现,比如以下逻辑: MariaDB [dummydb]> select CASE WHEN ((select database

    59530

    打工人打工魂!销售分析案例来啦!

    一、行列转换汇总求和 1、利用cese when语句先分别对销售员判断,然后得到每个销售员每日的销售金额。...2)、对销售员按照“月份”汇总,case when 筛选的基础上再用sum求和,得到每个销售员每个月总的销售金额。...利用cese when语句先分别对销售员判断,得到每个销售员每日的销售金额,销售员原来为列里的一项,通过case when 转换为行的项目 select 日期, case when 销售员='小明' then...小李日销额 from 销售记录表) a group by date_format(a.日期, '%Y %m'); 得到要求的结果如下: 【本题考点】 1、重点考查用case when语句进行列数据转换和条件判断...,实际工作中,这个语句是经常用到的 case when then else end 另外,case when有两种格式:简单函数,搜索函数。

    14530

    八、MYSQL常用函数

    实际应用中,大多数业务表都会带一个创建时间 create_time 字段用于记录每一条数据产生的时间,向表中插入数据时,就可以 insert 语句使用 now() 函数。...函数 date_format() 用于以指定的格式显示日期或时间,实际应用中一般会按照标准格式存储日期时间,但是查询使用数据的时候往往又会有不同的格式要求,这是就需要 date_format()...例如查询学生的家庭地址,如果为 null,则显示地址未填写: select name,ifnull(address,'未填写') from student; case when case when 是流程控制语句...,可以SQL语句使用 case when 来获取更加准确和直接的结果。...语法有两种: # 第一种 CASE [col_name] WHEN [value1] TEHN [result1]...ELSE [default] END # 第二种 CASE WHEN [expr]

    1K20

    一个分组查询引发的思考

    一个分组查询引发的思考 我们在看项目代码或者SQL语句时, 往往会看到很多非常复杂的业务或者SQL 那么问题来了. 复杂SQL是如何写成的?...我们可以看到汇总的那一行为空值 select DATE_FORMAT(takeTime,'%Y-%m') as '时间', round((sum(waitingTime)/count(case when...,使用union all的执行效率要比union高 ps: 后续因为某些原因, 总计还是单独作为一个接口来了, 尴尬~~~ 4....动态查询列信息核心逻辑: 原来的基础上, 首先新增一个获取所有业务列的接口, 然后在当前查询Dao接口传入这个list. mapper.xml 中 通过使用 mybaties的 ...就个人经历而言, 复杂的SQL语句或者业务, 不是一下子就写成的, 而是随着业务的复杂之后, 慢慢的优化而成的. 我们不要过于的惧怕这些复杂的代码, 应该在战略上蔑视它, 战术上重视它.

    1K20

    HAWQ取代传统数仓实践(七)——维度表技术之维度子集

    通过使用行的子集,不会破坏整个客户集合。当然,与该子集连接的事实表必须被限制同样的客户子集中。         月份维度是一个上卷维度,包含基本维度的上层数据。而特定维度子集是选择基本维度的行子集。..., v_cur_date; end; $$ language plpgsql;         上面的函数处理完客户维度表后,装载PA客户维度。...', '44102','cleveland', 'oh') ; commit;         以上代码一条insert into ... values语句中插入多条数据,这种语法是MySQL对标准...为了解决这些问题,还有一种常用的做法是基本维度上建立视图生成子维度。下面是创建子维度视图的SQL语句。...视图是只读的,不能对视图使用LOAD或INSERT语句装载数据,但可以使用alter view语句修改视图的某些元数据。

    1.4K50

    可编程的SQL是什么样的?

    而且对于数据处理,我们也无需一条SQL语句里写复杂的嵌套子查询和Join了,我们可以将SQL展开来书写,校本化,更加易于阅读和使用。...fi; select * from b as output; 分支语句中的条件表达式中,你可以使用一切内置、或者我们扩展的原生函数。...比如在上面的例子里,我们if 语句使用了 split函数。 还有一个大家用得非常多的场景,就是我先查一张表,根据条件决定接着执行什么样的逻辑。...之后我们可以使用select语句进行查询进一步加工。...对于一个很复杂的SQL 语句,里面可能存在多个类似sum /case when的重复语句,那么我们就可以使用这种方式了。而且可以做到一处修改,处处生效。

    65630
    领券