首页 > 其他分享 >算术运算符

算术运算符

时间:2023-01-23 15:15:59浏览次数:38  
标签:匹配 算术 运算符 dual 字符串 null select

算术运算符

​ + - * /(div) %(mod)

dual 表示伪表

​ select 100,100+2,12.5,100-13.5,100+50-30 from dual;

整数

​ 在sql中,+ 不表示连接,也没有连接作用,仅仅表示加法运算

​ 如果一个字符串与数值相加,会将字符串转换为数值(隐式转换)

​ 如果无法转换则会将其当成 0 来处理

​ select 100+'1' from dual; 这里可以转换成功

​ select 100+'a' from dual ; 这里的a就无法转换为数值类型,则将a当成0 ;

浮点数

​ sql中 整数/整数=浮点数

​ 分母为0,结果则为null

取模运算

​ 取模的结果是 正 还是 负 取决于 被除数 是正是负

比较运算符

​ = 在sql中 = 就是 ==

​ <=> 安全等于

​ 与等于类似,不同之处在于,用于null的比较

​ < > 或 != 表示不等于

​ < <=

​ > >=

注:

​ 两边都是字符串的时候,按照ANSI的比较规则进行比较

​ 只要null参与判断,结果就为null

非类型运算符

is null; 判断一个值,字符串或表达式是否为空

select last_name ,manager_id from employees where manager_id is null;

is not null; 判断一个值。字符串或表达式是否不为空

select last_name ,manager_id from employees where manager_id is not null;

least(a,b,c,……) 在多个值中返回最小值

​ select least(5,6,7) from dual;

greatest(a,b,c,……) 在多个值中返回最大值

​ select greatest(5,6,7) from dual;

between 条件1(上界) and 条件2(下界) (查询条件1 和条件2范围内的数据,包括边界)

select salary from employees where salary between 3000 and 6000;

in(a,b,c,……) 用于判断给定的值是否是 in列表中的一个值,如果是返回1,否则返回0。

​ 如果给定的值为null,或则in列表中存在null,则结果为null

​ select 'a'in('a','b','c') from dual;

not in(a,b,c,……) 用于判断给定的值是否不是not in列表中的一个值,如果不是返回1,否则返回0。

​ select 'x' not in('a','b','c') from dual;

like 模糊查询

​ like运算符主要用来匹配字符串,如果满足了条件返回1,否则返回0,如果给定的值为null 或匹配条件为null,则返回 null。

​ "%":匹配多个字符

​ "_":只能匹配一个字符

select first_name from employees **where ** first_name like '_s%';

escape关键字

用来指定任意字符充当转义字符

​ 如果使用 \ 来表示转义,则要省略 escape ,如果不是则要加上escape

select job_id from jobs where job_id like 'IT$_%' escape '$';

​ 指定 $ 字符为转义字符

regexp 正则表达式

​ 用来匹配字符串

​ 语法格式为:‘要进行匹配的字符串’ regexp 匹配条件。

​ ‘^’:匹配以该字符 后面字符 开头的 字符串

​ ‘$’:匹配以该字符 前面字符 结尾的 字符串

​ ‘ . ’:匹配任何一个单字符

image-20221106124049924

select 'shat' regexp '^s' from dual;
select 'float' regexp 't$' from dual;

标签:匹配,算术,运算符,dual,字符串,null,select
From: https://www.cnblogs.com/rili/p/17065195.html

相关文章

  • 逻辑运算符
    逻辑运算符​ not或! 逻辑非​ and或&& 逻辑与​ and的优先级高于or​ or或|| 逻辑或​ xop 逻辑异或 selectaxopbfromdual;​ 不同为真,相......
  • SQL 算术函数
    1.前言解释:SQL内置的算术函数主要用于对数值类型的字段进行算数运算。本小节,我们将一起学习SQL函数中的算术函数。有时候,我们需要对数据表中的数值字段进行算术运算,......
  • c++中运算符重载总结
    运算符重载的本质是函数重载。语法格式重载函数的一般格式如下:返值类型operator运算符名称(形参表列){    重载实体;}operator运算符名称在一起构成了新的函......
  • Day04-运算符
    一、算术运算符以下假设变量:a=10 b=20运算符描述实例+加 - 两个对象相加a + b 输出结果 30-减 - 得到负数或是一个数减去另一个......
  • 关于重载==运算符的问题
    提问: 如下代码所示,不理解我定义的Person类里的==重载函数为什么这么写?booloperator==(constPerson&p)中的this->m_Age和o.m_Age搞糊涂了#include<iostream>#include......
  • C语言运算符&优先级
    运算符优先级这一块即使你用了很久C语言,如果不刻意记忆,也是容易搞混的.C语言的运算符非常多,一共有50多种,可以分成若干类。算术运算符算术运算符专门用于算术......
  • C++入门篇之重载运算符和重载函数
    C++允许在同一作用域中的某个函数 和运算符 指定多个定义,分别称为函数重载 和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声......
  • 玖章算术CEO叶正盛:程序员必须掌握的数据库原理
    本文根据叶正盛在【第十三届中国数据库技术大会(DTCC2022)】线上演讲内容整理而成。分享嘉宾【嘉宾介绍】叶正盛,玖章算术科技公司CEO,原阿里云资深技术与产品专家,数据库产品管......
  • 算术运算题
    无临时变量交换两个变量利用异或运算符的特点,a^b^b==aleta=1,b=2a=a^bb=a^ba=a^b质数判断大于1的自然数中,只能被1和自身整除的自然数(不要考虑1)fu......
  • Class 复数类运算符重载
    (1条消息)运算符重载前缀++后缀++_peng864534630的博客-CSDN博客_运算符重载前缀和后缀#include<iostream>usingnamespacestd;classComplex{public:......