hivesql与MySQL的区别

1、hivesql没有update、insert into类的更新表或插入表的操作。

2、hiveSQL特殊字符拼接问题,如分号要先进行八进制的ASCII码转义。

MySQL:select concat(key,concat(';',key)) from dual;

hivesql:select concat(key,concat('\073',key)) from dual;

3、hivesql不支持等值连接。

MySQL:select * from dual a,dual b where a.key = b.key;

hivesql:select * from dual a join dual b on a.key = b.key; 

4、空值判断:MySQL中null表示空值,HiveQL中String类型的字段若是空(empty)字符串, 即长度为0, 那么对它进行IS NULL的判断结果是False。

5、函数使用不同,如分隔字符串:

MySQL:select substring_index("1,2,3",",",1); # 返回结果:1    select substring_index("1,2,3",",",3); # 返回结果:1,2,3

hivesql:select split("1,2,3", ',')[0]; # 返回结果:1      select split("1,2,3", ',')[2]; # 返回结果:3

时间转换函数:

MySQL:select p_id,from_unixtime(p_create_time/1000,'%y-%m-%d') as times from poi where p_parent_id= 4782760

hivesql:select p_id,from_unixtime(p_create_time div 1000,'YYYY-MM-dd HH:mm:ss') as times from poi where p_parent_id= 4782760

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值