#把时间转化成时间戳
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函数的更多相关文章

  1. impala 下的SQL操作

    1.修改字段中文名称 ALTER TABLE tablename CHANGE doc_rev_ind  doc_rev_ind varchar(40) comment '收取要求' 2.增加一列 A ...

  2. Oracle 中的sql函数以及分页

    SELECT LPAD(,'*.') "LPAD example" FROM DUAL; 1.分页查询 (1)方法一:使用  between  and 来实现分页 select * ...

  3. SQL函数说明大全

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  4. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

        花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...

  5. SQL 函数集锦

    ..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...

  6. SQL函数说明大全 (转)

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  7. sql函数(转)

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  8. SQL函数介绍

    http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用 ...

  9. Oracle数据库常用SQL函数

    1.SQL函数的概念: 函数一般是在数据上执行的,它给数据的转换和处理提供了方便.只是将取出的数据进行处理,不会改变数据库中的值.(类似于java中的方法但函数只是将数据库中的数据取出(复制)到函数中 ...

随机推荐

  1. 使用redis做为MySQL的缓存-C语言编写UDF

    介绍 在实际项目中,MySQL数据库服务器有时会位于另外一台主机,需要通过网络来访问数据库:即使应用程序与MySQL数据库在同一个主机中,访问MySQL也涉及到磁盘IO操作(MySQL也有一些数据预读 ...

  2. 如何去除PATH里的重复项并排序

    注意sed的用法,linux和Mac os不同,linux是Gnu的,Mac是BSD的 PATH排序去掉重复内容 mac和linux的换行符替换方法不一样,如下是Mac下的操作 export PATH ...

  3. 利用 AWS 无服务架构之语音合成

    目录 一.架构图 二.服务部署 2.1.创建 DynamoDB 表 2.2.创建 S3 2.2.1 静态网页存储桶 2.2.2.音频存储桶 2.3.创建 SNS Topic 2.4.为 Lambda ...

  4. sqlserver 数据库操作导出数据sql工具

    软件名称sqldbx 下载URL  https://download.csdn.net/download/yanghl1998/7832861 Navicat Premium  这个工具任何类型数据库 ...

  5. 设置主机防火墙规则(iptables规则设置及其与firewalld的生死纠葛)

    一.什么是firewalld防火墙? firewalld防火墙在Linux主机里其实就是一道隔离工具,它只对进出主机的请求做判断处理.也就是说它只管进出,至于你进来后做了什么,就不在firewalld ...

  6. selenium + python 环境配置 (四)之启动Firefox

    火狐浏览器自身适配selenium   因此不需要再安装 直接代码启动: __author__ = 'admin' #作者 # -*- coding:utf-8 -*- # 建议所有都加编码 from ...

  7. codevs1227:方格取数2

    题目描述 Description 给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= )现在从(,)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来,该 ...

  8. 点亮文字(CSS)

    html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8& ...

  9. element-ui image放大 v2.x版本 点击无反应

    1.官网文档:由于官网上没有写对应组件的版本信息,默认是最新版本.所以在老版本里,可能还没有这个功能. 2.github源码日志:提交时间是2019.07.25,确认后发现老版本的确没有此功能. 3. ...

  10. Target Sum

    You are given a list of non-negative integers, a1, a2, ..., an, and a target, S. Now you have 2 symb ...