DB2工作中常用sql函数场景与示例整理

需求1

1.项目中经常会遇到order by,但是字段却是varchar类型的,排序就会出现问题,把字段转为int类型的进行排序

order by CAST(rank as int)

补充:CAST是db2或oracle中强制类型转换函数

语法: CAST ( expression AS data_type )

需求2

2.项目要求全省和天府新区的要排在最后面展示

order by case when ( city_id=‘1’ or city_id=’-1’) then 1 else 0 end , cast(city_id as int);

解析:先按照case when得到的o,1结果进行排序,后按照 id进行排序

需求3

3.模糊查询

like '% t e x t &lt; f o n t c o l o r = &quot; b l u e &quot; &gt; 注 意 &lt; / f o n t &gt; : {text}%&#x27;&lt;/font&gt; &lt;font color=&quot;blue&quot;&gt; 注意&lt;/font&gt;: text<fontcolor="blue"></font>:{text} 是mybaits 传入的值, like ‘%张三%’

需求4

4.项目中可能会遇到如果这个字段没有值,但是想做特殊处理怎么办捏

SELECT coalesce(score,’-0’) FROM SCORE

解释:如果score查询没有值的话,就返回为-0(前台页面就可以做逻辑处理啦~)

补充:COALESCE 函数 :返回列表中的第一个非空表达式(如果所有参数均为 NULL,则返回 NULL),与Oracle数据库的nvl函数功能相同。

语法 :COALESCE ( expression, expression [ , …] )

注意: 也可以使用case when then else end

函数-COALESCE()函数处理空值

需求5

5.日期截取,格式转换

select substr(DECIMAL(op_time ),1,6) as op_time from REPORT

注意:op_time 数据库值:2018-08-01 查询出的值:201808 日期格式为 : yyyy-MM-dd

解释:DECIMAL(op_time)查询出的值为: 20180801 日期格式转化为了 :yyyyMMdd

substr (time,1,6) 查询出的值为: 201808

语法:substr(字符串,截取开始位置,截取长度) 返回截取的字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值