![d84f5468128c175772143c57c626b2be.png](https://img-blog.csdnimg.cn/img_convert/d84f5468128c175772143c57c626b2be.png)
很多人在sql碰到 % 符号理解不了。这其实是中了计算机编程的盲区。
![d658772eb130d83d147799a8484ba910.png](https://img-blog.csdnimg.cn/img_convert/d658772eb130d83d147799a8484ba910.png)
我们拿这个表格来说说sql怎么对字段做一个简单的计算。
比如每个人的基本工资都 +10块怎么写?
“基本工资 + 10“, 我们能很快反应到这样一个表达式上,我们来深入理解下这个表达式,
很显然,这是一个加法,加数是 “基本工资”,被加数是 10,那么具体哪个人的工资被加了10呢?
请看这么一句sql “select 基本工资 + 10 from 表 where 基本工资<1000"
请注意,我们的脑子里可以把这个sql理解成一个计算机的指令或过程,那么这个sql会分成2步来做,第一步找到 < 1000的所有人
第二步,对这些人的基本工资+10
如果你深刻的理解并且对 + 法有了计算机式的过程想象。
我们就可以只解释 % 符号代表的算法的意义。
“%是求余运算,即2%10=2,10%2=0,10%3=1“
但凡有一定计算机接触的朋友就不容易落入这个盲区,因为大家默认知道 %表示取余数,在sql中也遵循了这个规则。
现在提出一个问题,我们如何把上面表里的工资10块以下的零头去掉?
比如 1498 只输出 1490?请你结合 % 符号试试看能否解答这个需求。
金哥数据,加微信领取资料 3581 6146