sql server 2008 算数运算符与比较运算符

本文探讨SQL Server 2008中的算数运算符,如加减乘除及优先级,通过实例解释了括号的作用以及NULL在计算中的特殊性质。此外,还介绍了比较运算符,如大于、小于、等于,并强调了在处理NULL值时的注意事项。示例展示了如何正确选择和比较商品价格,以避免出现错误结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01算数运算符
数学中我们接触过的基本运算符—加,减,乘,除(+,-,,/)乃至括号()在sql语句同样适用,并且起相同含义
例一根据公式(利润=(售价-进价)* 2+*进价)计算商品的利润

SELECT sale_price,purchase_price
       sale_price-purchase_price*2+purchase_price AS price
FROM    PRODUCT    

ps关于product表的内容见上一篇文章
执行:

在这里插入图片描述
不挣钱,老板哭晕在厕所。反手给财务嘤嘤嘤~~
财务错哪了?来看看另一个财务的报表

 SELECT sale_price,purchase_price
        (sale_price-purchase_price*2)+purchase_price AS price
FROM    PRODUCT 

执行
在这里插入图片描述
赚钱啦,老板开心跳起广场舞
造成两次计算结果差异原因是什么呢?
sql中()可以改变优先级,同时sql算数运算符的优先级和数学中的相同----乘除高于加减,()是上帝

细心的你可能会注意到第四行利润为null,这是为啥呢?

这是因为在sql语句中null像个黑洞,所有包含null的计算,结果必为空

02比较运算符

sql语句中常使用大于等于(>=),小于等于(<=),等于(=)表达比较关系关系
note:>=和<=写成=>或者<=会报错
(小规则:和汉语上的读法顺序一致)
常见的逻辑运算符: 在这里插入图片描述
例二从商品中选择售价大于500的产品

SELECT product_name,purchase_price
FROM   PRODUCT
WHERE  sale_price>500

执行:
在这里插入图片描述

SELECT product_name,purchase_price
FROM   PRODUCT
WHERE  sale_price>'500'

在这里插入图片描述
想想看这两种执行代码有什么不同?
执行结果一样好像没什么不同

赐你一副眼镜

对字符串使用要注意500与‘500’含义不同
‘500’是按照字典顺序的
比如按照字典由小到大排序
1
10
11
2
20
21
说白了就是
字母顺序先后排,姓氏相同座一块

细心的你有没有注意到结果中的null呢?
在使用比较运算符时应避免出现null
对于包含null的要先进行判断
选取不是null使用 IS NOT NULL
例三选择进价不为空的商品

SELECT product_name,purchase_price
FROM PRODUCT
WHERE purchase_price IS NOT NULL

在这里插入图片描述
选择为空的使用IS NULL
例四选择售价为空的商品

SELECT product_name,purchase_price
FROM PRODUCT
WHERE purchase_price IS NULL

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值