db2 空值转换函数_Hive常见函数的使用

94033ce112e42ae03276986b65cb880b.gif

hive函数

1.关系函数

  • 等值比较 =语法:A=B 
    如果表达式A和表达式B相等,则为TRUE;否则为FALSE

  • 不等值比较 <>
    语法:A <> B
    如果表达式Anull,或者表达式Bnull,返回null;如果表达式A和表达式B不相等,则为true;否则为false

  • 小于比较 <
    语法:A < B 
    如果表达式Anull,或者表达式Bnull,返回null;如果A小于表达式B,则为true;否则为false

  • 小于等于(<=)、大于(>)、大于等于(>=)同上

  • 空值判断 is null 
    语法:A is null 
    如果表达式A的值为null,则为true;否则为false

  • 非空判断 is not null 
    语法:A is not null 
    如果表达式A的值为null,则为false;否则为true

  • like比较 like 
    语法:A [not] like B 
    如果字符串A 或者字符串B 为null,则返回null;如果字符串A符合表达式B的正则语法,则为true;否则为falseB中字符"_"表示任意单个字符,而字符“%”表示任意数量的字符注意:对特殊字符进行转义时,注意要使用两个反斜杠\ . 

  • Java的like/regexp操作:rlike/regexp
    语法:A rlike/regexp B 
    如果字符串A或者字符串Bnull,则返回null;如果字符串A符合Java正则表达式B的正则语法,则为TRUE;否则为false
    例:select * from dwd.tb_dwd_test where client_name rlike/regexp '^W *'注意:通配符‘%’在rlike/regexp函数中,只能使用一个‘%’字符,''也只能匹配一个''字符,即'%'和'_'不是通配符,此时通配符为''*

2.日期函数

  • unix时间戳转日期函数:from_unixtime
    语法:from_unixtime(bigint unixtime[,string format])
    转化unix时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:select from_unixtime(1323308943,'yyyyMMdd') from dual; ##返回值为20111208

  • 获取当前unix时间戳函数 unix_timestamp
    语法:unix_timestamp()
    获得当前的时间戳举例:select unix_timestamp() from dual; ##返回值为1323309615 

  • 日期转unix时间戳函数:unix_timestamp 
    语法:unix_timestamp(string date) 
    转换格式为'yyyy-MM-dd HH:mm:ss' 的日期到unix时间戳。如果转换失败,则返回0。举例:select unix_timestamp('2011-12-07 13:01:03') from dual; ##返回值为1323234063

  • 指定格式日期转unix时间戳函数:unix_timestamp 
    语法:unix_timestamp(string date,string pattern)
    转换pattern格式的日期到unix时间戳。如果转化失败,则返回0举例:select unix_timestamp('20111207 13:01:03','yyyyMMdd HH:mm:ss') from dual; ##返回值为1323234063 

  • 日期时间转日期函数:to_date 
    语法:to_date(string timestamp) 
    返回日期时间字段中的日期部分 select to_date('2011-12-08 10:03:01') from dual; ##返回值为2011-12-08

  • 日期转年函数:year
    语法:year(string date)
    返回日期中的年

  • 日期转月函数:month 
    语法:month(string date)
    返回日期中的月份

  • 日期转天函数:day 
    语法:day(string date) 
    返回日期中的天

  • 日期转小时函数 hour 
    语法:hour(string date) 
    返回日期中的小时

  • 日期转分钟函数 minute 
    语法:minute(string date) 
    返回日期中的分钟 举例:select minute('2011-12-08 10:03:01') from dual; ##返回值为3 

  • 日期转秒函数 second 
    语法:second(string date ) 
    返回日期中的秒

  • 日期转周函数 weekofyear 
    语法:weekofyear(string date)
    返回日期在当前的周数

  • 日期比较函数 datediff 
    语法:datediff(string enddate,string startdate) 
    返回结束日期减去开始日期的天数举例 :select datediff('2019-04-01','2019-04-02') from dual;## 返回值为1 

  • 日期增加函数 date_add
    语法:date_add(string startdate,int days) 
    返回开始日期startdate增加days天后的日期举例:select date_add('2019-04-08',10) from dual; ## 返回值为2019-04-18

  • 日期减少函数 date_sub 
    语法:date_sub(string strartdate,int days) 
    返回开始时间startdate减少days天后的日期举例:select date_sub('2019-04-18',10) from dual; ## 返回值:2019-04-08 

条件函数

  • if函数 
    语法 : if(boolean testCondition, T valueTrue, T valueFalseOrNull)
    说明:当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull
    举例:select if(app_name = 'group',object_id,null) as deal_id from dw.topic_order where partition_pay_date = '2016-04-22' 等效于select case when app_name = 'group' then object_id else null end as deal_id from dw.topic_order where partition_pay_date = '2016-04-22'

  • 非空查找函数 coalesce 
    语法:coalesce(t v1,t v2 ,...) 
    说明:返回参数中的第一个非空值;如果所有值都为null,那么返回null
    举例:select coalesce(uuid,'') as uuid from dw.topic_order where partition_pay_date = '2016-04-22' 
    等效于Oracle中的nvl函数有两个参数时候,nvl函数是有这个函数延伸而来

  • 条件判断函数 case 
    语法:CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END 
    说明:如果 a 等于 b ,那么返回 c ;如果 a 等于 d ,那么返回 e ;否则返回 f 注意:相对而言,case when是最全的条件函数,可以用于判断多种条件;次之是if函数,属于二分判断;最后是coalesce函数,该函数只能对空值和非空进行判断 注意:case when函数是有优先顺序的,如果如果第一个条件成立,则返回第一个的值,此时若满足第二个条件,则数值不发生改变

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中级软件测试笔试题100精讲_汇集上千位软件测试精英面试笔试题,最全面的题型都在这!...

知己知彼&#xff0c;才能百战不殆测试员想要在竞争激烈的职场中拥有一席之地&#xff0c;就需要提前做好准备。前人栽树&#xff0c;后人乘凉一次面试就能入职自己心仪的公司&#xff0c;就需要通过“前人”积累的面试题来了解面试官的“套路”&#xff0c;通过不断的优化答案…

学考语言成绩c对高考有影响吗_三大影响!考生务必上心,最近正在进行的学考对升学很重要...

阅读关键词&#xff1a;【填报技巧】【新高考】近日(1月6-8日)&#xff0c;高中生们正在进行2021年1月普通高中学业水平合格性考试(也就是大家普遍说的“学考”&#xff0c;又称“合格性考试”)。学考成绩有哪些用途&#xff1f;跟高考录取到底有什么关系&#xff1f;……今天我…

三次握手和四次挥手图解_TCP三次握手和四次挥手详解

作者&#xff1a;雨点的名字来源&#xff1a;https://www.cnblogs.com/qdhxhz/p/8470997.htmlTCP有6种标示:SYN(建立联机) ACK(确认) PSH(传送) FIN(结束) RST(重置) URG(紧急)一、TCP三次握手第一次握手客户端向服务器发出连接请求报文&#xff0c;这时报文首部中的同部位SYN1…

读excel_基础 | Excel中单元格的引用方式,读这篇就够了!

最近推送了几个Excel中最难的函数&#xff0c;哀嚎遍野&#xff0c;太难了……所以今天我们来“从万丈高楼平地起”的平地讲起&#xff01;搞懂Excel单元格引用方式&#xff0c;是保证公式准确最最基本的条件&#xff01;单元格引用方式整体分三种&#xff1a;相对引用(A1)绝对…

32汇编语言程序说明_Linux 汇编语言学习--编译和链接

上次我们提到了汇编语言的两种格式&#xff0c;Intel 和 AT&T 格式&#xff0c;今天讲的是对应两种编译器的一些使用。我们知道&#xff0c;编译器就是一个将一种程序语言翻译成另外一种语言的程序。编译的过程其实共有5个流程&#xff1a;词法分析、语法分析、语义分析和中…

占用系统资源测试_高频性能测试面试题15道

1、解释常用的性能指标名称与具体含义性能测试 通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。验证软件系统是否能够达到用户提出的性能指标&#xff0c;发现系统中存在的性能瓶颈并加以优化。性能指标分为两个方面&#xff1a;系统指标&#…

ensp1.3.00.100用哪个virtualbox_virtualBox使用 Ubuntu18.0.4

一、视图进入缩放模式&#xff0c;虚拟机上方菜单栏无法显示&#xff1f;热键c&#xff0c;恢复。 热键默认为右边的ctrl键。开启增强功能&#xff1f;打开虚拟机后&#xff0c;点击上方设备-->安装增强功能。虚拟机里面会出现识别到光盘。先挂载光盘到指定路径&#xff1a;…

动态ram依靠什么存储信息_处理器内存系统1(ROM,RAM,数据存储顺序)

本篇文章主要介绍处理器中存储器&#xff1a;ROM和RAM以及数据在内存中的存储顺序&#xff1a;大/小端(Little/Big Endian)。只读存储器(ROM)ROM(Read Only Memory)用来存储和保存数据。ROM数据不能随意更新&#xff0c;但是在任何时候都可以读取。即使是断电&#xff0c;ROM也…

edges2shoes数据集下载_edges2cats

edges2cats是一款十分有趣味的生成猫咪的游戏&#xff0c;在这款游戏是以多种不同的图形相结合&#xff0c;来生成你所想要生成的画面&#xff0c;游戏的玩法非常的有趣&#xff0c;感兴趣的可以试玩哦&#xff01;edges2cats游戏怎么玩 玩法介绍首先清除画面&#xff0c;根据你…

单片机机器周期怎么计算公式_单片机定时器周期计算公式

定时器是单片机的重要功能模块之一&#xff0c;在检测、控制领域有广泛应用。定时器常用作定时时钟&#xff0c;以实现定时检测&#xff0c;定时响应、定时控制&#xff0c;并且可以产生ms宽的脉冲信号&#xff0c;驱动步进电机。定时和计数的最终功能都是通过计数实现&#xf…

cross join 一张表没有值关联不出来数据_你是否还在对left join、right join和join有困扰呢?...

说到SQL&#xff0c;很多人可能用了挺久&#xff0c;但依然有个问题一直困扰着&#xff0c;那就是 left join、 join、 right join和 inner join等等各种 join的区别。网上搜&#xff0c;最常见的就是一张图解图&#xff0c;如下&#xff1a;接下来就来实际自己动手实验&#x…

前端判断是否安装桌面应用_前端开发人员的桌面应用神器 Electron

01为什么用 JavaScript 来开发桌面应用&#xff1f;曾经的 JavaScript 脆弱、简陋、甚至有被边缘化的危险&#xff0c;不过 JavaScript 在经过了两次飞跃后&#xff08;以 V8 为首的 JavaScript 引擎和 Node.js 的问世&#xff09;&#xff0c;不再受人欺负&#xff0c;早已升级…

mysql innodb文件_MySQL的InnoDB文件介绍

MySQL一个显著的特点是其可插拔的存储引擎&#xff0c;因此MySQL文件分为两种&#xff0c;一种是和MySQL数据库本身相关 的文件&#xff0c;一种是和存储引擎相关的文件。本文主要介绍和InnoDB存储引擎相关的文件。表空间文件InnoDB在存储上也模仿了Oracle的设计&#xff0c;数…

jdbc dao 工具类mysql_Java基于JDBC实现事务,银行转账及货物进出库功能示例

本文实例讲述了Java基于JDBC实现事务&#xff0c;银行转账及货物进出库功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a;1. 转账业务转账必须执行2个sql语句(update更新)都成功的情况下&#xff0c;提交事务&#xff0c;如果有一个失败&#xff0c;则2个都回滚事务…

冒险岛单机版mysql_冒险岛单机版

这款《冒险岛单机版》经验是盛大冒险岛的100倍?最新盛大地图及BOSS&#xff0c;甚至包括盛大没有地图BOSS及现金装备&#xff0c;地图包括新加坡&#xff0c;马来西亚&#xff0c;台湾&#xff0c;可口可乐城&#xff0c;闹鬼宅邸&#xff0c;暹罗等等?。25驾坐骑&#xff0c…

mysql数据库开发笔记_MySQL数据库生成数据库说明文档

在半年多前为一个MySQL数据库生成过数据库说明文档&#xff0c;今天要重新生成一份&#xff0c;但是发现完全不记得当时是怎么生成的&#xff0c;只能在网上搜索重来一遍&#xff0c;所以今天特意把这个过程记录一下。一、安装使用MySQL数据库表结构导出器DBExportDoc V1.0 For…

java 字符串缓冲区_详解Java中字符串缓冲区StringBuffer类的使用

StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder&#xff0c;实现了CharSequence接口。StringBuilder 也是继承于AbstractStringBuilder的子类&#xff1b;但是&#xff0c;StringBuilder和StringBuffer不同&#xff0c;前者是非线程安全的&#…

rabbitmq java文档_RabbitMQ文档翻译——Hello World!(上)

文章主要翻译自RabbitMQ官方文档&#xff0c;主要是为了练习英语翻译&#xff0c;顺便学习一下RabbitMQ&#x1f636;其中也记录了一些爬过的坑IntroductionRabbitMQ is a message broker. The principal idea is pretty simple: it accepts and forwards messages. You can th…

python从mongodb里取出数据进行可视化_python3 mongoDB数据库的安装配置与可视化

python3 mongoDB数据库的安装配置与可视化。前天说是要学习如何使用mongoDB的链接与安装。安装环境&#xff1a; wind10 还是盗版的 磁盘分析&#xff1a;只有一个C盘&#xff0c;步骤&#xff1a;1 . 下载这里下载了对应的msi文件&#xff0c;貌似.zip文件没有了2 我默认把mon…

idea 注入mapper报错报红的几种解决方案

文章目录 前言方法1&#xff1a;为 Autowired 注解设置required false方法2&#xff1a;用 Resource 替换 Autowired方法3&#xff1a;在Mapper接口上加上Repository注解方法4&#xff1a;用Lombok方法5&#xff1a;把IDEA的警告关闭掉方法6&#xff1a;不用管他 前言 相信大…