sql学习笔记(三)

目录

1.四舍五入

2.向上取整

3.向下取整

4.Hive 分区

5.case when条件语句

6.日期函数

7.字符串函数

8.窗口函数

1️⃣排序函数


1.四舍五入

round

select round(3.14) —>3
2.向上取整

ceiling

select ceiling(12.15) —>13
3.向下取整

floor

select floor(12.56) —>12
4.Hive 分区

随着系统运行时间的增加,表的数据量会越来越大,而Hive查询数据的数据的时候通常使用的是「全表扫描」,这样将会导致大量不必要的数据进行扫描,从而查询效率会大大的降低。 从而Hive引进了分区技术,使用分区技术,「避免Hive全表扫描,提升查询效率」

5.case when条件语句

注:不要忘记写then和end。

语法一:

CASE 字段 WHEN 值1 THEN 值1[WHEN 值2 THEN 值2]*[ELSE 值] END 

语法二:

CASE WHEN 条件表达式 THEN 值1[WHEN 条件表达式 [and or] 条件表达式THEN 值2]*[ELSE 值] END 
6.日期函数

链接🔗:https://www.cnblogs.com/ShadowFiend/p/12888055.html

1️⃣date_format

释义:格式化日期

用法:date_format(date,格式)

2️⃣date_add

释义:日期加法函数,数字为正,则加多少天,若数字为负数,则为减多少天;

用法:date_add(date,number);

3️⃣date_sub

释义:日期减法函数,数字为正,则减多少天,若数字为负数,则为加多少天

用法:date_sub(date,number)

4️⃣datediff

释义:日期比较函数,第一个日期减去第二个时期数字,为正,则前者大于后者,为负,则前者小于后者;

用法:datediff(date1,date2)

5️⃣current_timestamp

释义:获取当前时间

6️⃣current_date

释义:获取当前日期

7️⃣to_date

释义:转日期函数,默认转为yyyy-MM-dd格式

用法:to_date(time)

8️⃣year

释义:获取时间的年份

用法:year(date)

9️⃣month

释义:获取时间的月份

用法:month(date)

🔟day

释义:获取时间的天

用法:day(date)

11.Trunc

TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期

-返回当月的第一天

select trunc('2016-08-16','MM') --2016-08-01

-返回当年的第一天

select trunc('2016-08-16','YEAR') --2016-01-01

时间戳与日期函数转化

7.字符串函数

链接🔗:https://blog.csdn.net/qq_44011386/article/details/108364509

  1. 转换数据类型Cast
  2. 拼接字符串concat(string A, string B…)
  3. 带连接符的拼接字符串concat_ws(string SEP, string A, string B…)
  4. 翻转字符串reverse(string A)
  5. 字符串长度length(string A)
  6. 截取字符串substr(string A, int start),substring(string A, int start)
  7. 截取字符串substr(string A, int start, int len),substring(string A, int start, int len)
  8. 转换为大写upper(string A) ucase(string A)
  9. 转换为小写lower(string A) lcase(string A)
  10. 去除空格trim(string A)
  11. 去除左边电空格ltrim(string A)
  12. 去除右边空格rtrim(string A)
  13. 正则表达式提取字符串regexp_extract(string subject, string pattern, int index)
  14. 从链接中提取部分parse_url(url, partToExtract[, key]) - extracts a part from a URL
  15. get_json_object(string json_string, string path)
  16. 分割字符串split(string str, string pat)
8.窗口函数
<窗口函数> OVER ([PARTITION BY <列清单>] ORDER by <排序用列清单>)
1️⃣row_number/rank/dense_rank函数

row_number

rank

dense_rank

2️⃣lag/lead函数

​​​​​​​SQL中lag()和lead()函数使用_lag函数-CSDN博客

LAG

LEAD

9. with as用法

可看作是生成一个临时表,后续可调用

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

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

相关文章

计算机服务器中了locked勒索病毒怎么办,勒索病毒解密,数据恢复

随着网络技术的不断成熟&#xff0c;网络中存在的病毒威胁也不断增多&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到很多企业的求助&#xff0c;企业的计算机服务器数据库遭到了勒索病毒攻击&#xff0c;并且勒索病毒的攻击与加密形式也发生了许多变化。其中攻击次数较…

jenkins部署job

apt install fontconfig openjdk-11-jre wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.429/jenkins.wardeb包安装 wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_2.414.3_all.debdpkg -i jenkins_2.414.3_all.deb 访问 http://…

【亲测可用】SpringBoot使用Redis的Lettuce连接池报RedisCommandTimeoutException

目录 一、问题详情 二、根本原因 三、解决方案 一、问题详情 在最近新项目的开发当中,当项目刚启动的时候访问Redis服务一切正常,但是过了几分钟后再次访问Redis就报如下错误。 Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutExcept…

ElasticSearch高级功能详解与原理剖析

ES数据预处理 Ingest Node Elasticsearch 5.0后&#xff0c;引入的一种新的节点类型。默认配置下&#xff0c;每个节点都是Ingest Node&#xff1a; 具有预处理数据的能力&#xff0c;可拦截lndex或Bulk API的请求对数据进行转换&#xff0c;并重新返回给Index或Bulk APl 无…

第一篇-专题说明及当前进度

第一篇-专题说明及当前进度 专题说明及写作目的 从知道Rust、决定要学Rust到开始学Rust经历了一些时间&#xff0c;后面进一步了解C之后又鉴定了学习Rust的必要性。 鉴于Rust学习来有些痛苦&#xff0c;有点难&#xff0c;以及工作中暂时用不到、目前主要是go&#xff0c;本…

算法小白的心得笔记:关于Nan

NaN 是什么 在C中&#xff0c;NaN&#xff08;Not a Number&#xff09;是一种特殊的浮点数值&#xff0c;用于表示无法表示的数值或未定义的操作&#xff0c;例如0除以0。如果你的double类型变量显示为NaN&#xff0c;那么可能是在计算过程中出现了这种未定义的操作。 如果你…

SpringSecurity6 | 委派筛选器代理和过滤器链代理

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

Unreal Engine 学习笔记 (1)—— 日夜交替

1.创建关卡 文件新建关卡空白关卡保存关卡&#xff08;命名为NewWorld&#xff09; 2.创建蓝图类 创建蓝图类&#xff08;继承自Actor&#xff09; 命名为SunAndMoon 3.编辑SunAndMoon蓝图类 添加SkyAtmosphere添加SkyLight添加DirectionalLight将DirectionalLight重命名为…

C++入门学习(1)命名空间和输入输出

前言 在C语言和基本的数据结构学习之后&#xff0c;我们终于迎来了期待已久的C啦&#xff01;C发明出来的意义就是填补一些C语言的不足&#xff0c;让我们更加方便的写代码&#xff0c;所以今天我们就来讲一下C语言不足的地方和在C中的解决办法&#xff01; 一、命名空间 在学习…

OWASP TOP 10-XML外部实体(XXE)

文章目录 XML基础漏洞原理攻击方式 XML基础 XML用于标记电子文件使其具有结构性的标记语言&#xff0c;可以用来标记数据、定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义&#xff08;可选&#xff09;、…

【机器学习3】有监督学习经典分类算法

1 支持向量机 在现实世界的机器学习领域&#xff0c; SVM涵盖了各个方面的知识&#xff0c; 也是面试题目中常见的基础模型。 SVM的分类结果仅依赖于支持向量&#xff0c;对于任意线性可分的两组点&#xff0c;它 们在SVM分类的超平面上的投影都是线性不可分的。 2逻辑回归 …

Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

背景介绍 Apache Doris是一个基于MPP架构的易于使用&#xff0c;高性能和实时的分析数据库&#xff0c;以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需亚秒级响应时间&#xff0c;不仅可以支持高并发点查询场景&#xff0c;还可以支持高通量复杂分析场景。 这些都…

2586. 统计范围内的元音字符串数 --力扣 --JAVA

题目 给你一个下标从 0 开始的字符串数组 words 和两个整数&#xff1a;left 和 right 。 如果字符串以元音字母开头并以元音字母结尾&#xff0c;那么该字符串就是一个 元音字符串 &#xff0c;其中元音字母是 a、e、i、o、u 。 返回 words[i] 是元音字符串的数目&#xff0c;…

Mac版eclipse如何安装,运行bpmn文件

一、下载程序包 网址&#xff1a;https://www.eclipse.org/downloads M2芯片安装包名称&#xff1a;eclipse-jee-2022-12-R-macosx-cocoa-aarch64.dmg 具体安装包版本根据自己电脑型号选择 二、eclipse安装步骤 1&#xff09;双击下载的文件 2&#xff09;将eclipse拖入到…

Nvidia显卡Failed to initialize NVML Driver/library version mismatch错误解决方案

最近GPT比较火&#xff0c;开始折腾了一下gpu,用来跑项目&#xff1a; https://github.com/OpenTalker/SadTalker 今天运行程序突然发现用不了&#xff0c;经排查应该是由于NVIDIA内核驱动版本与系统驱动版本不一致导致的。 下面简单总结了这个错误的解决方案。 问题复现 查看…

Collection子接口——Set接口

1、HashSet: set接口的主要实现类&#xff0c;可存储null&#xff0c;线程不安全。 2、LinkedHashSet&#xff1a;HashSet的子类&#xff1b;遍历时&#xff0c;可按添加的顺序遍历。 3.、TreeSet&#xff1a;可以按添加元素的指定属性&#xff0c;进行排序。 注&#xff1a;Se…

linux修改rocketmq的日志文件位置

文章目录 &#x1f50a;修改rocketmq的日志文件位置&#x1f4d5;原来的文件&#x1f4cc;修改后文件&#x1f4c7;rocketmq中的Rocketmq_client.log文件在配置文件中改不了 需要在代码logback文件中进行修改&#x1f58a;️最后总结 &#x1f50a;修改rocketmq的日志文件位置 …

C#通过TCP发送List<string>

using System; using System.IO; using System.Net.Sockets; using System.Text; using System.Collections.Generic;public static void SendList<string>(Stream stream, List<string> list) {// 将List<string>对象转换为字节数组byte[] data Encoding.U…

没网络也能安装.Net 3.5!如何脱机安装.NET Framework 3.5

.NET框架是由微软制定的一个软件框架。它有助于在Windows上运行控制台、Web或移动应用程序。此有用的工具适用于Windows设备。 如何脱机安装.NET Framework 3.5 如果你拥有Windows 10、8、8.1或7,有时第三方软件可能会导致问题。你可能会在图片中看到这样的问题。 看这张照片…

新版onenet平台安全鉴权的确定与使用

根据onenet官方更新的文档&#xff1a;平台提供开放的API接口&#xff0c;用户可以通过HTTP/HTTPS调用&#xff0c;进行设备管理&#xff0c;数据查询&#xff0c;设备命令交互等操作&#xff0c;在API的基础上&#xff0c;根据自己的个性化需求搭建上层应用。 为提高API访问安…