• 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
  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/houyaxin/p/6781927.html
Copyright © 2020-2023  润新知