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
  • 相关阅读:
    安卓反编译
    Icesugar Gourd
    php文件写入
    java 序列化与反序列化
    Toj Dominoes Game
    adb&frida
    Markdown 测试用例
    iview InputNumber类输入框表单验证失效
    01背包问题(回溯算法实现)
    阅读作业二读Lost in CatB有感 by 李栋
  • 原文地址:https://www.cnblogs.com/houyaxin/p/6781927.html
Copyright © 2011-2022 走看看