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)
.......要下班了奥~ 下次继续更吧,还有很多的