sql语句常见问题

between是否包括两端

与字段类型有关

数据库类型如果是data 则包括两端

如果是datatime 则不包括右边

 

时间转字符串

DATE_FORMAT(statistic_date,'%Y-%m-%d') as statistic_date

 SQL实现小数取整

1、round()遵循四舍五入把原值转化为指定小数位数。
如:round(1.45,0) = 1;round(1.55,0)=2
2、floor()向下舍入为指定小数位数.
如:floor(1.45,0)= 1;floor(1.55,0) = 1
3、ceiling()向上舍入为指定小数位数.
如:ceiling(1.45,0) = 2;ceiling(1.55,0)=2

 

SQL空值处理

oracle

SELECT USERNAME FROM B_USER;
SELECT nvl("USERNAME",'改变后的值') as username FROM B_USER;

sql Server

SELECT ISNULL("USERNAME", '改变后的值') as username FROM B_USER

mySql:

SELECT IFNULL(USERNAME,'改变后的值') as username FROM B_USER;

HIVE

常使用COALESCE(a,10)  a为列名,10为默认值

 

HIVE

分组排序函数

row_number() over (partition by a.id,a.ts order by ts desc) as rn

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值