【SQL常用日期函数(二)】

SQL 常用日期函数-基于 Impala 3.4.0

接之前 SQL常用日期函数(一)介绍了实现计算上年末、上级末、上月末、上年同期的方法和函数,这次继续分享常用的SQL日期函数及使用场景。包括:DAYOFWEEK 函数、TRUNC 函数、LAST_DAY 函数。

DAYOFWEEK 函数

在impala中,DAYOFWEEK函数返回的是一个1到7的值,其中1通常表示星期日(Sunday),7表示星期六(Saturday)。

例如:

SELECT DAYOFWEEK( CURRENT_DATE() ); --返回结果 7 ( CURRENT_DATE() 为 '2024-11-30' )

在实际工作当中,可以根据具体业务场景使用,如输入一个日期,都能返回周一或周日。

这里,我们约定周一为每个星期的第一天,周日为每个星期的最后一天。

输入一个日期,返回当前星期的第一天:


--示例
SELECT  CASE DAYOFWEEK( CURRENT_DATE() )WHEN 2 THEN CURRENT_DATE()  /*周一*/WHEN 1 THEN DATE_ADD( CURRENT_DATE(), DAYOFWEEK( CURRENT_DATE() - 7 ) ) /*周日*/ELSE /****/ DATE_ADD( CURRENT_DATE(), 7 - DAYOFWEEK( CURRENT_DATE() ) -5 ) /*周二至周六*/END  AS  MondayOfCurrentWeek
/*SQL*/;

还有一种方法见下文的 trunc 函数。

输入一个日期,返回当前星期的最后一天(即周日):


示例:
SELECT  CASE WHEN DAYOFWEEK ( CURRENT_DATE() ) = 1 THEN CURRENT_DATE()ELSE /******************************/ DATE_ADD( CURRENT_DATE() , 7 - DAYOFWEEK( CURRENT_DATE() ) + 1 )END AS SundayOfCurrentWeek
/*SQL*/;

TRUNC 函数

在Impala中,trunc函数用于截断日期或时间值到指定的单位。

语法:


TRUNC(date/timestamp, unit)

其中date/timestamp 是要截断的日期或时间值,unit是指定的截断单位。


示例:
SELECT CURRENT_DATE() ; --返回结果:2024-11-30SELECT TRUNC(CURRENT_DATE(),'YY'); --返回当年第一天,即 2024-01-01。SELECT TRUNC(CURRENT_DATE(), 'Q'); -- 返回当季第一天,即 2024-10-01SELECT TRUNC(CURRENT_DATE(),'MM'); --返回当月第一天,即 2024-11-01。SELECT TRUNC(CURRENT_DATE(),'DAY'); --返回当前星期的第一天,即 2024-11-25SELECT TRUNC(NOW() ,'DD'); --返回当天零时,即 2024-01-01 00:00:00

LAST_DAY 函数

在Impala中,last_day 函数用于获取指定日期所在月份的最后一天。具体来说,last_day 函数接受一个日期或时间戳参数,并返回该日期所在月份的最后一天的日期值。


示例:
SELECT CURRENT_DATE(); -- 2024-12-12
SELECT LAST_DAY( CURRENT_DATE() ) AS last_day_of_month; -- 2024-12-31

小结

DAYOFWEEK 函数、TRUNC 函数、LAST_DAY 函数等日期函数都是实际开发当中常用的函数,一般会根据实际业务场景结合其他函数灵活使用,适当归纳复盘以便不时之需。

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

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

相关文章

计算机基础 原码反码补码问题

整数的二进制的表示形式:其实有三种 原码:直接根据数值写出的二进制序列就是原码 反码:原码的符号位不变,其他位按位取反就是反码 补码:反码1,就是补码 负数:-1 以补码形式存放在内存 写出 -1…

题海拾贝——生成元(Digit Generator,ACM/ICPC SEOUL 2005,UVa1583)

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 欢迎点赞关注&#xff01; 1、题目描述 如果x加上x的各个数字之和得到y&#xff0c;就说x是y的生成元。给出(1<n<10…

笑话故事 第十七期

好久不见&#xff0c;以下是为您准备的笑话&#xff0c;希望能让您捧腹大笑&#xff1a; 1. 名字的误会 小明新交了一个女朋友&#xff0c;带回家给父母看。 妈妈问&#xff1a;“姑娘&#xff0c;你叫什么名字啊&#xff1f;” 女朋友&#xff1a;“阿姨&#xff0c;我叫小芳…

Clean Docker Images and Container by Cron Job

1.Cretae a clean_docker_containers.sh to clean containers (status: exited, dead) #!/bin/bash# 找到所有状态不正常的容器 containers$(docker ps -a --filter "statusexited" --filter "statusdead" --format "{{.ID}}")if [ -z "$…

欧科云链研究院:比特币还能“燃”多久?

出品&#xff5c; OKG Research 作者&#xff5c;Hedy Bi 本周二&#xff0c;隔夜“特朗普交易” 的逆转趋势波及到比特币市场。比特币价格一度冲高至约99,000美元后迅速回落至93,000美元以下&#xff0c;最大跌幅超6%。这是由于有关以色列和黎巴嫩有望达成停火协议的传闻引发…

Linux系统管理基础指南--习题

目录 一、基础知识与命令 二、 Linux的用户接口 三、文件权限与目录管理 四、shell相关知识 五、软件安装与网络 六、网络进程管理 一、基础知识与命令 1. (操作题)分别执行下述命令 ls -al cd ~ cd man -f man man –k cd man --help cal --help date --help bc --he…

hint: Updates were rejected because the tip of your current branch is behind!

问题 本地仓库往远段仓库推代码时候提示&#xff1a; error: failed to push some refs to 192.168.2.1:java-base/java-cloud.git hint: Updates were rejected because the tip of your current branch is behind! refs/heads/master:refs/heads/master [rejected] (…

设计模式面试大全:说一下单例模式,及其应用场景?

定义 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一&#xff0c;此模式保证某个类在运行期间&#xff0c;只有一个实例对外提供服务&#xff0c;而这个类被称为单例类。 单例模式也比较好理解&#xff0c;比如一个人一生当中只能有一个真…

go-zero使用自定义模板实现统一格式的 body 响应

前提 go环境的配置、goctl的安装、go-zero的基本使用默认都会 需求 go-zero框架中&#xff0c;默认使用goctl命令生成的代码并没有统一响应格式&#xff0c;现在使用自定义模板实现统一响应格式&#xff1a; {"code": 0,"msg": "OK","d…

【Python网络爬虫笔记】5-(Request 带参数的get请求) 爬取豆瓣电影排行信息

目录 1.抓包工具查看网站信息2.代码实现3.运行结果 1.抓包工具查看网站信息 请求路径 url:https://movie.douban.com/typerank请求参数 页面往下拉&#xff0c;出现新的请求结果&#xff0c;参数start更新&#xff0c;每次刷新出20条新的电影数据 2.代码实现 # 使用网络爬…

java-a+b 开启java语法学习

代码 &#xff08;ab) import java.util.Scanner; //导入 java.util包中的Scanner 类&#xff0c;允许读取键盘输入数据public class Main { // 创建一个公共类 Mainpublic static void main(String[] args) {//程序入口点&#xff0c;main方法Scanner scanner new Scanner(…

spring boot+jpa接入达梦数据库

文章目录 前言依赖配置对应的domain类和repository 前言 最近有一个新项目&#xff0c;由于信息安全等要求只能使用达梦数据库&#xff08;dm8&#xff09;&#xff0c;之前从来没用过&#xff0c;特此开一个笔记记录一下spring bootjpa如何使用达梦数据库完成开发。 依赖 p…

Ardusub源码剖析(1)——AP_Arming_Sub

代码 AP_Arming_Sub.h #pragma once#include <AP_Arming/AP_Arming.h>class AP_Arming_Sub : public AP_Arming { public:AP_Arming_Sub() : AP_Arming() { }/* Do not allow copies */CLASS_NO_COPY(AP_Arming_Sub);bool rc_calibration_checks(bool display_failure)…

玻璃效果和窗户室内效果模拟

一、玻璃效果 首先来讲如何模拟玻璃效果。玻璃的渲染包括三部分&#xff0c;普通场景物体的渲染、反射和折射模拟、毛玻璃模拟。作为场景物体&#xff0c;那么类似其它场景物体Shader一样&#xff0c;可以使用PBR、BlingPhong或者Matcap&#xff0c;甚至三阶色卡通渲染都可以。…

某东图标点选验证码

注意&#xff0c;本文只提供学习的思路&#xff0c;严禁违反法律以及破坏信息系统等行为&#xff0c;本文只提供思路 如有侵犯&#xff0c;请联系作者下架 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。…

九、Ubuntu Linux操作系统

一、Ubuntu简介 Ubuntu Linux是由南非人马克沙特尔沃思(Mark Shutteworth)创办的基于Debian Linux的操作系统&#xff0c;于2004年10月公布Ubuntu是一个以桌面应用为主的Linux发行版操作系统Ubuntu拥有庞大的社区力量&#xff0c;用户可以方便地从社区获得帮助其官方网站:http…

fastdds:编译、安装并运行helloworld

fastdds安装可以参考官方文档&#xff1a; 3. Linux installation from sources — Fast DDS 3.1.0 documentation 从INSTALLATION MANUAL这一节可以看出来&#xff0c;fastdds支持的操作系统包括linux、windows、qnx、MAC OS。本文记录通过源码和cmake的方式来安装fastdds的…

mybatis:You have an error in your SQL syntax;

完整报错You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near false, false, false, false, false, false, false, false, false, false, false, at line 1 SQL: INSERT INTO user …

MappingJackson2HttpMessageConverter

MappingJackson2HttpMessageConverter 默认只支持 application/json 格式&#xff0c;&#xff0c;如果服务器返回的是text/plain不能转换 扩展一个可以转换text/plain的转换器&#xff1a; public class RestTemplateMessageConverter extends MappingJackson2HttpMessageCo…

7. 现代卷积神经网络

文章目录 7.1. 深度卷积神经网络&#xff08;AlexNet&#xff09;7.2. 使用块的网络&#xff08;VGG&#xff09;7.3. 网络中的网络&#xff08;NiN&#xff09;7.4. 含并行连结的网络&#xff08;GoogLeNet&#xff09;7.5. 批量规范化7.5.1. 训练深层网络7.5.2. 批量规范化层…