Ano*_*non 7 mysql sql conditional equals
我想知道为什么MYSQL在条件语句中使用单个等号而不是更典型的两个等号.这有技术/历史原因吗?谢谢.
嗨,我想知道为什么MYSQL在条件语句中使用单个等号而不是更典型的两个等号.这有技术/历史原因吗?谢谢.
比较SQL比分配更常见.
这就是为什么SQL使用更短的语法来做更常见的事情.
在经典中SQL,比较可以区别于上下文赋值(赋值只能在SET语句的子句中UPDATE),这就是为什么一个运算符可以用于两个操作的原因.
在MySQL扩展名中SQL,对会话变量的赋值表示为:=
SQL中从不存在歧义.
在原来的指南到SQL标准由CJDate(1987年版),=用于分配的中仅使用SET的条款UPDATE.在其他地方=使用它用于比较.
但是在其他语言中,例如C/C++/C#/ Java,=可以用作赋值,但它也返回一个值.所以a = b意味着"设置a等于b,然后返回a",而a == b意思是" true如果a并且b相等则返回".(这导致在C程序中一个非常普遍的错误,因为if (a = b)和if (a == b)都是有效的,因为结果并不一定是一个布尔值.)
一些语言如JavaScript/ECMAScript也===作为第三种类型的比较引入.在这些语言中,==意味着"转换为相同类型并进行比较",而===" true仅当它们是相同类型和相同值时才返回".
| 归档时间: |
|
| 查看次数: |
2963 次 |
| 最近记录: |