impala 下的SQL函数
#把时间转化成时间戳
select cast('1966-07-30' as timestamp);
select cast('1985-09-25 17:45:30.005' as timestamp);
select cast('08:30:00' as timestamp);
#取月份 无效月份为null
select hour('1970-01-01 15:30:00'),hour('1970-01-01 27:30:00');
#一周的第几天
select dayofweek('2004-06-13');
#英文下的星期几
select dayname('2004-06-13');
#两个时间差
select datediff('2019-11-10','2019-11-20');
把时间戳转换成秒数
select unix_timestamp(now())
把秒数转成时间戳
select from_unixtime(cast(cast(1000.0 as decimal) as bigint));
把字符串转换成时间戳
cast('2019-10-14 18:00:41' as timestamp)
#增加月份
select now(), add_months(now(), 2);
select now(), add_months(now(), -1);
#当前时间
select now(), current_timestamp();
#加6小时
select now() as right_now,date_add(now(), interval 6 hours) as in_6_hours;
#加三周
select now() as right_now,date_add(now(), interval 3 weeks) as in_3_weeks;
#加三个月
select date_add(cast('2016-01-31' as timestamp), interval 3 months) as 'april_31st';
#截取年份
select date_part('year',now()) as current_year;
#截取小时
select date_part('hour',now()) as hour_of_day;
#距现在之前的第七天
select now() as right_now,date_sub(now(), 7) as last_week;
#距现在之后第7天日期
select now() as right_now,date_sub(now(), -7) as last_week;
#前3周的那一天
select now() as right_now,date_sub(now(), interval 3 weeks) as 3_weeks_ago;
#6个小时前
select now() as right_now,date_sub(now(), interval 6 hours) as 6_hours_ago;
#上一个月
select date_sub(cast('2016-05-31' as timestamp), interval 1 months) as 'april_31st';
#相差的天数
select now() as right_now, datediff(now() + interval 5 days,now()) as in_5_years;
#取天数
select now(), day(now());
#一周的第一天,英文下的星期几
select now() as right_now,dayofweek(now()) as todays_day_of_week,dayname(now()) as todays_day_name;
#截取年和月份
select now() as right_now,extract(year from now()) as this_year,extract(month from now()) as this_month;
#相差月份
select months_between('2015-02-28','2015-01-28');
#查询当前时间的季初日期
select now() as right_now,trunc(now(), 'Q') as current_quarter;
#两周之后的季初时间
select now() + interval 2 weeks as 2_weeks_from_now,trunc(now() + interval 2 weeks,'Q') as still_current_quarter;
#一年中的第几周
select now() as right_now,weekofyear(now()) as this_week;
#之前的两周时间点
select now() as right_now,weeks_sub(now(), 2) as week_before_last;
#截取年份
select now() as right_now,year(now()) as this_year;
#增加一年
select now() as right_now,years_add(now(), 1) as next_year;
impala 下的SQL函数的更多相关文章
- impala 下的SQL操作
1.修改字段中文名称 ALTER TABLE tablename CHANGE doc_rev_ind doc_rev_ind varchar(40) comment '收取要求' 2.增加一列 A ...
- Oracle 中的sql函数以及分页
SELECT LPAD(,'*.') "LPAD example" FROM DUAL; 1.分页查询 (1)方法一:使用 between and 来实现分页 select * ...
- SQL函数说明大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
- SQL 函数集锦
..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...
- SQL函数说明大全 (转)
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- sql函数(转)
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- SQL函数介绍
http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用 ...
- Oracle数据库常用SQL函数
1.SQL函数的概念: 函数一般是在数据上执行的,它给数据的转换和处理提供了方便.只是将取出的数据进行处理,不会改变数据库中的值.(类似于java中的方法但函数只是将数据库中的数据取出(复制)到函数中 ...
随机推荐
- Linux (Ubuntu)安装ssh
看ssh服务是否启动 打开"终端窗口",输入sudo ps -e |grep ssh 回车有sshd,说明ssh服务已经启动, 如果没有启动,输入sudo service ssh ...
- MapReduce本地运行模式wordcount实例(附:MapReduce原理简析)
1. 环境配置 a) 配置系统环境变量HADOOP_HOME b) 把hadoop.dll文件放到c:/windows/System32目录下 c) ...
- Azure AADSTS7000215 其中一种问题的解决
众所周知,Azure提供了整套的rest api,经过认证和授权,完美阐述了”我是谁,我能做什么“.对资源层的操作,我们很多时候是使用Powershell或者Azure CLI或者各个语言的SDK, ...
- react 做的简易todolist
首先要有一定的react的基础,里面的一些不做解释(包括项目文件的用法及作用) ### 1. 先安装react的插件 npm install create-react-app -g ...
- 共享文件word / excel /ppt 被用戶自己锁定无法编辑-解決方法
共享文件word / excel /ppt 被用戶自己鎖定無法編輯,但用戶嘗試過關閉所有文件和重啓過系統,依然無法編輯. 搜到解決方法: Just in case someone looking fo ...
- 斑马打印机和欧姆龙CP1H串口通信打印
欧姆龙CP1HPLC和斑马打印机通信 1. PLC 1.1PLC型号 CP1H 1.2通信方式 232通信,使用232扩展卡槽CP1W-CIF01. CP1W-CIF01是RS232选件板,通信距离最 ...
- (IStool)64位软件安装在32位操作系统时给出提示
需求:64位的软件当在32位操作系统下安装时,需要提示用户不能在32位操作系统中进行安装 实现:打包时启用64位模式(打包工具用的是Inno Setup 5) 安装脚本段需要添加以下代码: [Setu ...
- 使用expect实现自动交互,shell命令行自动输入,脚本自动化,变量引用,expect spawn执行带引号命令,expect 变量为空,不生效,不能匹配通配符*,函数,数组
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作 ...
- JS 通过注册表调用启动本地软件
(关键点:所有软件安装的注册表路径是不会变化的,这个注册表路径需沟通软件商家获取或者通过自己安装在注册表中查找得到) // 调用 注册表编辑类 方法 function run_jxpgj(){//进项 ...
- Mysql主从复制原理及同步延迟问题
本文转载自:Mysql主从复制原理及同步延迟问题 主从复制解决的问题 数据分布:通过复制将数据分布到不同地理位置 负载均衡:读写分离以及将读负载到多台从库 备份:可作为实时备份 高可用性:利用主主复制 ...