db2 常用sql,函数整理

本文分享了SQL编程中实用技巧,包括解决varchar排序问题、使用COALESCE处理空值、实现模糊查询、日期格式转换及复杂排序需求,适用于数据库操作与项目开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

    order by CAST(rank as int)

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

     语法CAST ( expression AS data_type )

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

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

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

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

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

3.模糊查询 

    like  '%${text}%'    

       注意:${text} 是mybaits 传入的值, like  '%张三%'

4.日期截取,格式转换

   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(字符串,截取开始位置,截取长度)  返回截取的字符串

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

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

   

 

 

.......要下班了奥~ 下次继续更吧,还有很多的
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值