zoukankan      html  css  js  c++  java
  • SQL vs. HQL 语法对比

    入园6年了,之前都是查问题,看别人的分享,现在终于开始写第一篇博客~

    其实一直都有记录的习惯,但平时都记在Evernote里,也会有纸质的笔记本,但是发现这些笔记也就给我提供了查询和记录的功能,自己并没有经常去回顾。如果经营一个博客的话,可能会经常过来看看,而且分享出来的东西会让我有种责任感,写出来之前也会追根求源,仔细斟酌,小心求证。

    最近正好在核对用户画像标签,需要写SQL和HQL来比对,发现两者之前有蛮多语法的区别,正好等着跑数据也很花费时间,那就把遇到的问题都总结出来吧。这篇会不定期更新~以后也会把Evernote里自己的学习笔记更新上来,涉及商业分析思维、数据分析、统计学、机器学习、摄影、心理学、英语,甚至还有知乎Live的笔记,stay tuned!

    • Hive不支持to_char
      • SQL中会通过to_char讲日期类型转换为字符串,但Hive中的日期本来就是字符串类型,直接截取即可。
      • 截取日期的话Hive直接用substr(column_name, start, length)
    --SQL
    select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss') from dual
    select to_char(sysdate, 'yyyymm') from dual --return year and month
    
    --Hive
    select substr(sysdate, 0, 6) from dual --return year and month
    • case when和聚合函数一起用的情况
      • 其实算是hive和sql共同的一个语法,刚才遇到了觉得写法很奇特就记录一下来
      • case when和聚合函数一起用的时候,聚合要写在外面
    select sum(
        case when f.card_type in ('01', '02') 
        then f.pay_amt
        end
    ) ceadit_amt
    from fact_trans_detail f
  • 相关阅读:
    关于此博客的制作
    Java线程运行轨迹-代码追踪与定位
    MySQL安装和使用
    jenkins安装和使用教程
    持续集成(git+TortoiseGit+Gitblit)
    RF框架基础知识(二)
    RF工具ride使用
    Postman的使用
    用Python写RF测试
    RF框架基础知识(一)
  • 原文地址:https://www.cnblogs.com/houyaxin/p/6781927.html
Copyright © 2011-2022 走看看