Mysql的INTERVAL()函数和INTERVAL关键字

article/2025/10/14 20:34:24

一,INTERVAL()函数

INTERVAL()函数可以返回分段后的结果,语法如下:

INTERVAL(N,N1,N2,N3,..........)

其中,N是要判断的数值,N1,N2,N3,...是分段的间隔。

这个函数的返回值是段的位置:

如果N<N1,则返回0,

如果N1<=N<N2,则返回1,

如果N2<=N<N3,则返回2。

所以,区间是前闭后开的。

 

举个例子:

有这样的数据:

然后执行以下sql:

SELECT id,percent,INTERVAL(percent,25,50) from test;

执行结果如下:

意思大概是这样的:percent字段参与判断,设定的区段是25,50,那么小于25的值返回0,大于等于25小于50的值返回1,大于等于50的值返回2。

 

还可以把INTERVAL()函数用在GROUP BY中:

执行这样的sql:

SELECTINTERVAL (percent, 0, 26, 51),COUNT(1)
FROMtest
GROUP BYINTERVAL (percent, 0, 26, 51);

执行结果如下:

 

二,INTERVAL关键字

INTERVAL关键字可以用于计算时间间隔,可以有以下用法。

 

1,直接计算时间间隔。

例1:查询当前时间之前2个小时的日期:

SELECT NOW()-INTERVAL '2' HOUR;

例2:

有这样的表:

执行这样的sql:

SELECTid,percent,t_date,t_date - INTERVAL 2 HOUR
FROMtest
where t_date - INTERVAL 2 HOUR>'2020-11-02';

执行结果:

注:INTERVAL后面的数字可以用数字格式或者字符格式,当时间单位是YEAR_MONTH这种时,必须用字符格式。

 

2,用在时间函数中

INTERVAL关键字可以用在DATE_SUB(),SUBDATE(),ADDDATE()等函数中。

例1:查询两天前的时间:

SELECT NOW(),SUBDATE(NOW(),INTERVAL 2 DAY);

例2:执行这样的sql:

SELECTid,percent,t_date,DATE_SUB(t_date, INTERVAL 2 HOUR)
FROMtest
WHEREDATE_SUB(t_date, INTERVAL 2 HOUR) > '2020-11-02';

执行结果:

 

可用的时间单位:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

重点关注一下YEAR_MONTH这种格式的单位,以YEAR_MONTH为例,代表几年又几个月的时间间隔。

比如查询当前时间前一年又三个月的时间,可以这样:

SELECT NOW(),NOW()-INTERVAL '1 3' YEAR_MONTH;

执行结果:

其中:

'1 3' YEAR_MONTH的配置就是代表1年3个月,两个数字之间的间隔符用等号,空格,下划线,中划线等等的都可以。

同理,'2 1 3 4' DAY_SECOND就代表2天1小时3分4秒:

另外,在Oracle中,INTERVAL关键字还有专门的语法,可以起到MySQL中YEAR_MONTH关键字差不多的功能:

INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]

 

本文完


http://chatgpt.dhexx.cn/article/OlWh3sTM.shtml

相关文章

Mysql_interval函数与关键字

目录 一、统计不同区间的数量&#xff1a;INTERVAL()函数 二、时间间隔&#xff1a;INTERVAL关键字 一、统计不同区间的数量&#xff1a;INTERVAL()函数 INTERVAL()函数可以返回分段后的结果&#xff0c;语法如下&#xff1a; INTERVAL(N,N1,N2,N3,......,Nn) 其中&#x…

INTERVAL记录

INTERVAL作为sql中关键字 interval在sql中一般表示为时间间隔的意思 常用在date_add()、**date_sub()**函数中&#xff0c;常用于时间的加减法 上述sql表示为当前时间一年后的时间。 interval后可选择的时间粒度&#xff1a; MICROSECOND&#xff0c; SECOND&#xff0c; MIN…

万能的Attention及其代码实现

最近看到以前的代码&#xff0c;想到了attention&#xff0c;趁着代码还在就来整理一下。 文章目录 [Squeeze-and-Excitation Networks](https://arxiv.org/abs/1709.01507)[Concurrent Spatial and Channel ‘Squeeze &Excitation’ in Fully Convolutional Networks](ht…

NLP中的Attention总结

Attention是模拟人脑的注意力机制。人在看到一些东西&#xff0c;往往只关注重要的信息&#xff0c;而忽略其他信息。自然语言处理中的attention是对文本分配注意力权重&#xff0c;Attention的本质就是从关注全部变为关注重点。 1 Attention的原理 Attention的计算过程&#…

Attention 理解汇总

在 Encoder-Decoder中&#xff0c;预测每个Decoder 的语义编码 c 是一样的&#xff0c;句子 X 中每个词对输出 Y 的每个词的影响都是相同的。 这样有两个弊端&#xff1a; 一是语义向量无法完全表示整个序列的信息&#xff1b; 二是先输入的内容携带的信息会被后输入的信息稀…

[深度学习] 自然语言处理 --- Self-Attention(三) 知识点与源码解析

在当前的 NLP 领域&#xff0c;Transformer / BERT 已然成为基础应用&#xff0c;而 Self-Attention 则是两者的核心部分&#xff0c;下面尝试用 Q&A 和源码的形式深入 Self-Attention 的细节。 一 Q&A 1. Self-Attention 的核心是什么&#xff1f; Self-Attention …

attention介绍

Attention 正在被越来越广泛的得到应用。 Attention 到底有什么特别之处&#xff1f;他的原理和本质是什么&#xff1f;Attention都有哪些类型&#xff1f;本文将详细讲解Attention的方方面面。 Attention 的本质是什么 Attention&#xff08;注意力&#xff09;机制如果浅层…

Attention原理

文章目录 Attention原理HAN原理利用Attention模型进行文本分类参考资料 Attention原理 转载一个Hierarchical Attention神经网络的实现 转载 图解Transformer 转载 Attention原理和源码解析 论文链接 Attention is All You Need HAN原理 论文链接Hierarchical Attention Net…

Transformer详解(二):Attention机制

1.Encoder-Decoder中的attention机制 上一篇文章最后&#xff0c;在Encoder-Decoder框架中&#xff0c;输入数据的全部信息被保存在了C。而这个C很容易受到输入句子长度的影响。当句子过长时&#xff0c;C就有可能存不下这些信息&#xff0c;导致模型后续的精度下降。Attentio…

attention模型

以机器翻译为例说明&#xff1a; 普通的RNN机器翻译模型: 次结构弱点在于当target句子太长时&#xff0c;前面encoder学习到的embedding vector(红边框)可能会被后面的decoder遗忘。因此改进版本如下: 这样&#xff0c;每次在输入target的word的时候&#xff0c;除了可以看到…

【深度学习】Self-Attention 原理与代码实现

1.Self-Attention 结构 在计算的时候需要用到矩阵Q(查询),K(键值),V(值)。在实际中&#xff0c;Self-Attention 接收的是输入(单词的表示向量x组成的矩阵X) 或者上一个 Encoder block 的输出。而Q,K,V正是通过 Self-Attention 的输入进行线性变换得到的。 2. Q, K, V 的计算 S…

Self -Attention、Multi-Head Attention、Cross-Attention

Self -Attention Transformer结构图 上图是论文中 Transformer 的内部结构图&#xff0c;左侧为 Encoder block&#xff0c;右侧为 Decoder block。红色圈中的部分为 Multi-Head Attention&#xff0c;是由多个 Self-Attention组成的&#xff0c;可以看到 Encoder block 包含一…

Attention Rollout

问题陈述 从图1a中的原始attention可以看出&#xff0c;只有在最开始的几层&#xff0c;不同位置的attention模式有一些区别&#xff0c;但是更高层中的attention权重更加一致。这表示随着模型层数的增加&#xff0c;嵌入的内容变得更加情境化&#xff0c;可能都带有类似的信息…

Attention可视化

Attention matrix&#xff1a; https://github.com/rockingdingo/deepnlp/blob/r0.1.6/deepnlp/textsum/eval.py plot_attention(data, X_labelNone, Y_labelNone)函数 #!/usr/bin/python # -*- coding:utf-8 -*-""" Evaluation Method for summarization tas…

Attention机制

文章目录 一、Attention机制是什么&#xff1f;二、推荐论文与链接三、self-attention 一、Attention机制是什么&#xff1f; Attention机制最早在视觉领域提出&#xff0c;九几年就被提出来的思想&#xff0c;真正火起来应该算是2014年Google Mind发表了《Recurrent Models o…

Attention详解

1.背景知识 Seq2Seq模型&#xff1a;使用两个RNN&#xff0c;一个作为编码器&#xff0c;一个作为解码器。 编码器&#xff1a;将输入数据编码成一个特征向量。 解码器&#xff1a;将特征向量解码成预测结果。 缺点&#xff1a;只将编码器的最后一个节点的结果进行了输出&am…

浅析NLP中的Attention技术

Attention&#xff08;注意力机制&#xff09;在NLP、图像领域被广泛采用&#xff0c;其显而易见的优点包括&#xff1a; &#xff08;1&#xff09;从context中捕捉关键信息&#xff1b; &#xff08;2&#xff09;良好的可视性和可解释性。 我们常用QKV模型来理解Attention&…

Attention 机制

文章目录 Attention 的本质是什么Attention 的3大优点Attention 的原理Attention 的 N 种类型 转载来源&#xff1a;https://easyai.tech/ai-definition/attention/ Attention 正在被越来越广泛的得到应用。尤其是 BERT 火爆了之后。 Attention 到底有什么特别之处&#xff1f…

详解Transformer中Self-Attention以及Multi-Head Attention

原文名称&#xff1a;Attention Is All You Need 原文链接&#xff1a;https://arxiv.org/abs/1706.03762 如果不想看文章的可以看下我在b站上录的视频&#xff1a;https://b23.tv/gucpvt 最近Transformer在CV领域很火&#xff0c;Transformer是2017年Google在Computation an…

Attention 一综述

近年来&#xff0c;注意力&#xff08;Attention&#xff09;机制被广泛应用到基于深度学习的自然语言处理(NLP)各个任务中。随着注意力机制的深入研究&#xff0c;各式各样的attention被研究者们提出&#xff0c;如单个、多个、交互式等等。去年6月&#xff0c;google机器翻译…