美文网首页
【HIVE/MySQL】 sql中 between * and

【HIVE/MySQL】 sql中 between * and

作者: yimengtianya1 | 来源:发表于2020-11-11 17:15 被阅读0次

背景

hive/mysql下使用sql中的between * and * 在不同数据类型下竟然不一样。
1、int类型、float类型、string类型是包含头尾的。
2、timestamp包含头,但不包含尾!!!此外,当between a and a 时, 是不包含a的。
具体原因,有待进一步调研。

避坑办法

使用大于等于和小于等于替代between * and * ,避免这个问题。

验证过程

1、int、float类型数据——包含头尾

select
    7 as time
    , case when 7  between 7 and 8 then "1" else "0" end as judge
union all
select
    8 as time
    , case when 8  between 7 and 8 then "1" else "0" end as judge
图片.png
select
    7.0  as time
    , case when 7.0   between 7.0  and 8.0  then "1" else "0" end as judge
union all
select
    8.0  as time
    , case when 8.0   between 7.0  and 8.0  then "1" else "0" end as judge
图片.png

2、string类型——包含头尾

select
    to_date(now())  as time
    , case when to_date(now())              between "2020-11-11" and "2020-11-12" then "1" else "0" end as judge
union all
select
    to_date(date_add(now(),1)) as time
    , case when to_date(date_add(now(),1))  between "2020-11-11" and "2020-11-12" then "1" else "0" end as judge
图片.png

3、timestamp类型——包含头,但不包含结尾

select
    now() as time
    , case when now()               between "2020-11-11" and "2020-11-12" then "1" else "0" end as judge
union all
select
    date_add(now(),1) as time
    , case when date_add(now(),1)  between "2020-11-11" and "2020-11-12" then "1" else "0" end as judge
图片.png

相关文章

  • 【HIVE/MySQL】 sql中 between * and

    背景 hive/mysql下使用sql中的between * and * 在不同数据类型下竟然不一样。1、int类...

  • Hive + Sqoop + MySQL + Spark

    安装 Hive +Sqoop+MySQL+Spark先将 system_logs.sql 导入 MySQL,使用 ...

  • Hive Sql case when 不支持子查询

    how to make selecet subquery in hive sql 怎么在 hive sql 中实现...

  • Hive

    hive的查询语句Hive-sql与MySQL基本上一样,因为当初的设计目的就是让会SQL但不会MapReduce...

  • 今日份打卡 238/365

    技术文章统一es,hive,mysql的SQL查询引擎来自360

  • Specified key was too long; max

    问题:spark sql连接hive的元数据(mysql库)时报错:Specified key was too l...

  • Pandas与SQL对比

    Pandas与SQL对比 作为一名数据分析师,平常用的最多的工具是SQL(包括MySQL和Hive SQL等)。对...

  • 数据仓库快速入门

    记录了实习过程中Hive SQL常用方法 工具 Hive Sql 特点: 通过类 SQL 来分析大数据,而避免了写...

  • 一场pandas与SQL的巅峰大战(一)

    作为一名数据分析师,平常用的最多的工具是SQL(包括MySQL和Hive SQL等)。对于存储在数据库中的数据,自...

  • hive

    Hive 是一个SQL 解析引擎,将SQL语句转译成MR Job,然后再hadoop上运行,达到快速 mysql是...

网友评论

      本文标题:【HIVE/MySQL】 sql中 between * and

      本文链接:https://www.haomeiwen.com/subject/qitybktx.html