点击

算术运算符

算术运算符

​ + - * /(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;

posted @   RILI520  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示