【presto sql】presto sql 如何通过 计算当前日期(年月日,时分秒) 来计算当前是星期几?

2023-05-16

文章目录

    • 原因
    • 解析
    • 常见的日期处理方式
    • 拓展

原因

在这里插入图片描述

presto没有直接的日期转星期几的方式,但是可以通过函数mod,date_diff多种函数进行求模转换成我们想要的星期几。

 SELECT case mod(
 				date_diff(
 					'day',
 					cast('2021-02-01' as date),
 					cast(
 						cast(stringtime_field_name as timestamp) as date)),
 				7) 
        when 0 then '周一'
        when 1 then '周二'
        when 2 then '周三'
        when 3 then '周四'
        when 4 then '周五'
        when 5 then '周六'
        when 6 then '周日'
        end AS "星期几"
FROM "presto_ods"."thexing_ads_itm_analysis" -- 自己的表名

解析

1.stringtime_field_name 是表里面的字段,将其转换成时间戳。也可以是当前日期函数currentdate(),这样就不用转换变成如下:

 SELECT case mod(
 				date_diff(
 					'day',
 					cast('2021-02-01' as date),
 					cast(
 						cast(CurrentDate() as date)),
 				7) 
        when 0 then '周一'
        when 1 then '周二'
        when 2 then '周三'
        when 3 then '周四'
        when 4 then '周五'
        when 5 then '周六'
        when 6 then '周日'
        end AS "星期几"

FROM  "presto_ods"."thexing_ads_itm_analysis" -- 自己的表名

在通过date_diff,计算date与一个为星期一的日期之间的天数间隔,mod计算间隔除7的余数
通过case把余数转为星期几。

常见的日期处理方式

本文总结一下Presto SQL日期时间比较常用的处理:

1. 特定的日期时间值
select
    current_date, --当前的日期
    
    current_time, --当前的时间
    
    current_timestamp, --当前的时间戳
    
    date'2021-09-01', --给定的日期
    
    time'12:30:00', --给定的时间
    
    timestamp'2021-09-01 12:30:00' --给定的时间戳

需要输入日期时间时,使用前缀date、timestamp、time就会将输入的字符串识别为日期时间。

2. 常用的日期时间处理
select
    current_date, --当前日期
    
    current_date - interval '1' day, --往前推1天
    
    current_date + interval '3' day, --往后推3天
    
    date_add('day', -1, current_date), --往前推1天
    
    date_add('day', 3, current_date), --往后推3天
    
    date_trunc('month', current_date), --当月第1天
    
    date_trunc('month', current_date) - interval '1' month, --前1月第1天
    
    date_trunc('month', current_date) - interval '1' day, --前1月最后1天
    
    date_trunc('week', current_date), --当周第1天
    
    date_diff('day', date'2021-09-01', date'2021-09-23'), --相差天数
    
    to_char(current_date, 'yyyy-mm'), --将日期时间值转换为字符串月份
    
    to_char(current_date, 'yyyymmdd'), --将日期时间值转换为字符串日期
    
    date(date_parse('20210901', '%Y%m%d')), --将日期字符串转换为日期值
    
    date('2021-09-01'), --将日期字符串yyyy-mm-dd转换为日期值
    
    cast('2021-09-01' as date) --将日期字符串yyyy-mm-dd转换为日期值

拓展

mysql有获取自己的当期星期的函数,只需要case when 转换一下值就行

DAYNAME():返回对应周几的英文名
DAYOFWEEK():对应周几的引索(1=周日,2=周一。。。。7=周六)
WEEKDAY():对应周几的引索(0=周一,1=周二。。。。6=周日)

SELECT 
 WEEKDAY(CURRENT_DATE), -- 对应周几的引索(0=周一,1=周二。。。。6=周日)
 DAYOFWEEK(CURRENT_DATE), -- 对应周几的引索(1=周日,2=周一。。。。7=周六)
case mod( 
datediff('2021-02-01',CURRENT_DATE),7)
WHEN 0 THEN '周一' 
WHEN 1 THEN '周二' 
WHEN 2 THEN '周三' 
WHEN 3 THEN '周四' 
WHEN 4 THEN '周五'
WHEN 5 THEN '周六' 
WHEN 6 THEN '周日' 
end '周几'
FROM "hive_eda_ads_itm_okr_analysis"


在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【presto sql】presto sql 如何通过 计算当前日期(年月日,时分秒) 来计算当前是星期几? 的相关文章

  • computed和watch

    computed 1 什么是computed xff1f computed是计算属性 类似于方法 xff0c 但和methods不同 xff0c methods每次调用时会重新执行函数 xff0c 而computed在其内部变量不变或其返回
  • Anaconda3 2021.05(64bit)安装图文教程

    目录 little背景安装包下载安装 little背景 有朋友说下学期要学Python xff0c anaconda的jupyter notebook这么方便不得不安利一下 xff0c 顺手写个博客记下来 本文如有问题请多指教 xff01
  • 数据结构第三章 栈和队列题目答案

    一 选择题 1 xff0e 栈结构通常采用的两种存储结构是 xff08 A xff09 A xff0e 顺序存储结构和链表存储结构 B xff0e 散列方式和索引方式 C xff0e 链表存储结构和数组 D xff0e 线性链表结构和非线性
  • 博客模板

    题目链接 xff1a 题目描述 xff1a Input xff1a Output xff1a Sample Input xff1a Sample Output xff1a Hint xff1a 思路 xff1a 总结 xff1a 代码 xf
  • 程序设计思维与实践 Week9 作业 C-长凳问题(签到题)

    题目链接 xff1a C 长凳问题 题目描述 xff1a SDUQD 旁边的滨海公园有 x 条长凳 第 i 个长凳上坐着 a i 个人 这时候又有 y 个人将来到公园 xff0c 他们将选择坐在某些公园中的长凳上 xff0c 那么当这 y
  • 程序设计思维与实践 Week11 作业 必做题 A-蒜头君买房子

    题目链接 xff1a A 蒜头君买房子 题目描述 xff1a 蒜头君从现在开始工作 xff0c 年薪N万 他希望在蒜厂附近买一套60平米的房子 xff0c 现在价格是 200万 假设房子价格以每年百分之K增长 xff0c 并且蒜头君未来年薪
  • 程序设计思维与实践 Week11 作业 必做题 B-蒜头君列队

    题目链接 xff1a B 蒜头君列队 题目描述 xff1a 蒜头君的班级里有n 2个同学 xff0c 现在全班同学已经排列成一个n n的方阵 xff0c 但是老师却临时给出了一组新的列队方案 为了方便列队 xff0c 所以老师只关注这个方阵
  • 程序设计思维与实践 Week11 作业 必做题 C-简单密码

    题目链接 xff1a C 简单密码 题目描述 xff1a Julius Caesar 曾经使用过一种很简单的密码 对于明文中的每个字符 xff0c 将它用它字母表中后 55 位对应的字符来代替 xff0c 这样就得到了密文 比如字符 A 用
  • 【蓝桥杯单片机3】共阳数码管的静态显示

    本节要完成的实验现象 xff1a 8个数码管分别单独依次显示0 xff5e 9的值 xff0c 然后所有数码管一起同时显示0 F的值 xff0c 如此往复 训练重点 xff1a 1 弄清楚数码管的段码与显示数值之间关系 2 共阳数码管的基本
  • 程序设计思维与实践 CSP-M3 B-消消乐大师——Q老师

    题目描述 xff1a Q老师是个很老实的老师 xff0c 最近在积极准备考研 Q老师平时只喜欢用Linux系统 xff0c 所以Q老师的电 脑上没什么娱乐的游戏 xff0c 所以Q老师平时除了玩Linux上的赛车游戏SuperTuxKart
  • 程序设计思维与实践 Week12 作业 必做题 C-东东扫寝室

    题目链接 xff1a C 东东扫寝室 题目描述 xff1a 东东每个学期都会去寝室接受扫楼的任务 xff0c 并清点每个寝室的人数 每个寝室里面有ai个人 1 lt 61 i lt 61 n 从第i到第j个宿舍一共有sum i j 61 a
  • 程序设计思维与实践 Week13 作业 必做题 A-TT 的神秘任务1

    题目链接 xff1a A TT的神秘任务1 题目描述 xff1a 这一天 xff0c TT 遇到了一个神秘人 神秘人给了两个数字 xff0c 分别表示 n 和 k xff0c 并要求 TT 给出 k 个奇偶性相同的正整数 xff0c 使得其
  • 程序设计思维与实践 Week13 作业 必做题 C-TT 的奖励

    题目链接 xff1a C TT的奖励 题目描述 xff1a 在大家不辞辛劳的帮助下 xff0c TT 顺利地完成了所有的神秘任务 神秘人很高兴 xff0c 决定给 TT 一个奖励 xff0c 即白日做梦之捡猫咪游戏 捡猫咪游戏是这样的 xf
  • 程序设计思维与实践 Week15 实验 B-ZJM的本领

    题目链接 xff1a B ZJM的本领 题目描述 xff1a 众所周知 xff0c ZJM 住在 B 站 这一天 Q 老师来找 ZJM 玩 xff0c ZJM 决定向 Q 老师展现一下自己快速看番的本领 ZJM 让 Q 老师任意挑选了一部番
  • CCF 2018-9-3 元素选择器

    题目链接 xff1a 元素选择器 题目描述 xff1a 思路 xff1a 模拟题 xff0c 简化版的元素选择器 xff0c 首先创建储存每一层的节点 xff0c 节点中包括标签 xff0c id属性和缩进 由于对于标签的大小写不敏感 xf
  • 期末验收汇总

    WEEK9作业 xff1a A 咕咕东的目录管理器 B 东东学打牌 C 长凳问题 签到题 WEEK10作业 xff1a A Game23 签到题 B LIS amp LCS C 拿数问题 II WEEK10限时大模拟 xff1a A STr
  • 【RoboMaster】我是这样搞定第一次单目相机测距的

    之前在做一个单目测距的小项目 xff0c 大概需要就是用单目相机 xff0c 对一个特定的目标进行识别并测算相机与该目标的距离 所以便去网上找了一堆教程 xff0c 这里给大家总结一下 xff0c 希望给小白们一个参考 首先是基本需求了 x
  • 最简单-P1591 阶乘数码-洛谷

    知道的越多 xff0c 不知道的越多 xff08 微信 xff1a Y17744650906 xff09 点赞再看 xff0c 养成习惯 P1591 阶乘数码 题目描述 求 n n 中某个数码出现的次数 输入格式 第一行为 t t leq
  • 虚拟机里的ubuntu突然不能上网解决方案

    最近vw里面的ubuntu突然不能上网了 我去查了下许多人的方法 xff0c 大多都是叫你改文件配置然后重启网络之类的 xff0c 我弄了半天 xff0c 结果本来是半身瘫痪的网络直接成了植物人 这是我直接向重装了 xff0c 但文件 xf
  • Markdown转LaTeX的Python程序大全(持续更新)

    文章目录 xff11 xff0e 双 96 96 符号转 96 begin 96 96 end 96 型公式2 xff0e 将 96 matrix 96 域替换为 96 begin 96 96 end 96 域3 xff0e 删除 LaTe

随机推荐

  • LNMP 搭建 wordpress 站点 安装及配置过程

    0x00 环境 阿里云ECS云服务器 CPU xff1a 1核 内存 xff1a 4G 操作系统 xff1a Centos 系统盘 xff1a 100G 0x01 安装及配置 主要使用 nginx php 和 mysql 注意 xff1a
  • 【FineReport企业日常问题 2.0】FineReport(帆软设计器)如何连接远程的服务器?

    问题描述 FineReport 报表正式工程一般都部署在远程服务器上 xff0c 这里部署的是linux系统上的 xff0c 一般开发都是直连服务器进行报表设计的 然后开发完后集成到其他的系统上面 一般都会有测试报表 xff0c 和正式报表
  • 【钰言又止】

    钰言又止 看到在名古屋买的风铃 发出悦耳的声音 如同你温柔的唤醒 我慵懒的回应 天正好放晴 适合去看海边的风景浪花里你身姿娉婷 我们依偎成一道林荫 而现在和回忆平行 我已经分不清 在梦中的幻影 触碰再轻 也像是划破夜空的流星 转瞬即逝的光明
  • mysql:In aggregated query without GROUP BY, expression #1 of SELECT list contains...........

    文章目录 问题描述问题溯源解决方式一解决方法二附录 xff1a 问题描述 下面是报错截图 xff1a span class token number 1140 span In aggregated query without GROUP B
  • 【FineReport企业日常问题 3.0】帆软Finereport跨大版本打开设计文件(包括cpt,frm等)

    文章目录 场景分析探索实现方法在这里插入图片描述总结 场景 一般我们做报表开发的时候 xff0c 帆软服务器上的版本 包括小版本 最好和本地设计器的版本一致 xff0c 但是随着帆软版本升级换代 xff0c 目前已经是v11版了 之前的有v
  • 【node.js】关于node.js,如何解决npm should be run outside of the Node.js REPL, in your normal shell报错?

    问题描述 前言 xff0c 安装node方式采用的是安装包解压的 报如下错误 npm should be run outside of the Node js REPL in your normal shell 在windows环境下安装完
  • 【Mysql第一期 数据库概述】

    文章目录 1 为什么要使用数据库2 数据库与数据库管理系统2 1 数据库的相关概念2 2 数据库特点2 3SQL优点 3 常见的数据库介绍1 Oracle2 SQL Server3 MySQL4 Access5 DB26 PostgreSQ
  • 【Mysql第二期 MySQL环境搭建】

    文章目录 01 为什么要安装新版本 xff1f 02 官网下载mysql03 安装配置初始化mysql 04 查看 MySQL服务05 验证是否安装成功06 修改root密码07 如果有navicat工具可以在测试一下 xff1a 01 为
  • 【Mysql第三期 基本查询语句结构】

    文章目录 1 SQL概述1 1 SQL背景知识1 2SQL 分类 2 SQL语言的规则与规范2 1 基本规则2 2 SQL大小写规范 xff08 建议遵守 xff09 2 3 注 释2 4 命名规则 xff08 暂时了解 xff09 3 基
  • 【Mysql第四期 运算符规则计算】

    文章目录 写在前面1 算数运算符2 比较运算符3 逻辑运算符4 位运算符5 运算符的优先级拓展 xff1a 使用正则表达式查询 写在前面 基本的运算符号在计算机编程领域都是相通的 xff0c 会有自己的一些特定符号语言 xff0c 就像是各
  • 【Mysql第五期 排序与分页】

    文章目录 案例使用的数据脚本1 排序数据1 1 排序规则1 2 单列排序1 3 多列排序 2 分页2 1 需求2 2 实现规则 3 课后习题扩展分析原因问题解决总结 案例使用的数据脚本 1 mysql脚本下载链接https download
  • jeston TX1_TX2 ubuntu18.04安装(国内安装源gitee)ROS Melodic

    查看ubunut系统信息 cat proc version uname a lsb release a 我自己的系统信息是 xff1a 由于我自己已经迁移了系统至SD卡 xff0c 所以存储比较富裕 xff1a 通过对应的ubuntu版本安
  • 【Mysql第六期 多表连接查询】

    文章目录 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 2 多表连接分类3 非等值连接4 UNION的使用7 MySQL的七种join图解8 课后习题 1 了解什么是笛卡尔积 xff08 或交叉连接 xff09 笛卡尔乘积是一
  • 【Mysql第七期 函数】

    文章目录 1 函数的理解1 1 什么是函数1 2 不同DBMS函数的差异 2 数值函数2 3 三角函数2 5 进制间的转换 3 字符串函数常用函数 4 日期和时间函数4 1 获取日期 时间4 2 日期与时间戳的转换4 3 获取月份 xff0
  • 【Mysql第八期 子查询】

    文章目录 前言1 需求分析与问题解决1 2 子查询的基本使用1 3 子查询的分类 2 单行子查询2 1 单行比较操作符2 2 代码示例2 5 子查询中的空值问题 3 多行子查询3 1 多行比较操作符3 2 代码示例3 3 空值问题 4 相关
  • 【Mysql第九期 建表语句和管理表】

    文章目录 1 基础知识1 1 一条数据存储的过程1 2 标识符命名规则1 3 MySQL中的数据类型 2 创建和管理数据库2 2 使用数据库2 3 修改数据库2 4 删除数据库 3 创建表3 2 创建方式23 3 查看数据表结构 4 修改表
  • 【Mysql第十期 数据类型】

    文章目录 1 MySQL中的数据类型2 类型介绍2 2 可选属性2 2 2 UNSIGNED2 2 3 ZEROFILL2 3 适用场景2 4 如何选择 xff1f 3 浮点类型3 2 数据精度说明3 3 精度误差说明 4 定点数类型4 1
  • 【Mysql第十一期 约束】

    文章目录 1 约束 constraint 概述1 1 为什么需要约束1 2 什么是约束1 3 约束的分类 2 非空约束2 1 作用2 2 关键字2 3 特点2 4 添加非空约束2 5 删除非空约束 3 唯一性约束3 1 作用3 2 关键字3
  • 【Mysql第十二期 视图】

    文章目录 1 常见的数据库对象2 视图概述2 1 为什么使用视图 xff1f 2 2 视图的理解 3 大白话理解3 1 创建单表视图3 2 创建多表联合视图 4 查看视图5 更新视图的数据5 1 一般情况 6 修改 删除视图6 1 修改视图
  • 【presto sql】presto sql 如何通过 计算当前日期(年月日,时分秒) 来计算当前是星期几?

    文章目录 原因解析常见的日期处理方式拓展 原因 presto没有直接的日期转星期几的方式 xff0c 但是可以通过函数mod xff0c date diff多种函数进行求模转换成我们想要的星期几 span class token keywo