首页/分类:数据库
2017-10-27 写了一篇文章

Oracle 分组排序函数MySQL实现

Oracle select waybill_no,reserve_delivery_tm from(select ROW_NUMBER() OVER(PARTITION BY T.WAYBILL_NO ORDER BY T.WQS_CREATE_TM DESC) lev,t.* from TL_RESERVE_DELIVERY t) where lev=1 order by WQS_CREATE_TM MySQL SELECT waybill_no,reserve_delivery_tm FROM ( SELECT reserve_delivery_tm, IF(@pdept=heyf_tmp.waybill_no,@rank:=@rank+1,@rank:=1) AS rank,heyf_tmp.waybill_no FROM ( SELECT * FROM TL_RESERVE_DELIVERY ORDER BY waybill_no DESC ) heyf_tmp,( SELECT @rownum :=0, @pdept := NULL,@rank:=0) a) result WHERE result.rank=1;   说明:IF(a,b,c)函数是如果a条件成立,那么b,否则c

2017-10-27 写了一篇文章

MySQL字符串连接函数

MySQL中 concat_ws 函数 使用方法: CONCAT_WS(separator,str1,str2,...)   CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。 注意: 如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。   如连接后以逗号分隔 mysql> select concat_ws(',','11','22','33');   +-------------------------------+ | concat_ws(',','11','22','33') | +-------------------------------+ | 11,22,33 | +-------------------------------+ 1 row in set (0.00 sec)   和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL ...

2017-10-27 写了一篇文章

Oracle中的NVL函数

NVL函数的格式如下:NVL(expr1,expr2) 含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。 mysql类似oracle的nvl的函数是ifnull, 用法如下   mysql> select ifnull(1,10); +--------------+ | ifnull(1,10) | +--------------+ |            1 | +--------------+ 1 row in set (0.00 sec)   mysql> select ifnull(null,10); +-----------------+ | ifnull(null,10) | +-----------------+ |              10 | +-----------------+ 1 row in set (0.00 sec)