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
  • 相关阅读:
    react native( rn) 中关于navigationOptions中headerRight 获取navigation的问题 rn
    string与number转换
    基础面试资料
    vim快捷键大全
    Vim中的自定义快捷键
    去掉ubuntu命令行模式提示声
    模板非类型形参的详细阐述
    C++中为什么构造函数不能定义为虚函数
    C++ 深入理解 虚继承、多重继承和直接继承
    C++ 虚函数表解析
  • 原文地址:https://www.cnblogs.com/houyaxin/p/6781927.html
Copyright © 2011-2022 走看看