有人可以解释这个棘手的SQL吗?

时间:2015-09-01 01:53:43

标签: sql

下面的sql将返回什么?为什么?

SELECT 1 + '+' + 2

2 个答案:

答案 0 :(得分:4)

相同的原因SELECT 1 + 'whocares' + 2导致3.在某些数据库系统中,'字符串'如果它们不能被解释为数字,则评估为0。请尝试SELECT 1 + '2' + 3查看可以将其解释为数字的示例。

是的,在一些数据库系统中""适用于整个答案,我会猜测你是否正在使用像MySQL这样的东西。

答案 1 :(得分:2)

考虑这种数学逻辑的一种方法是SQL以给定的操作顺序管理你的数学函数。

SELECT 1 + 'whocares' + 2
-- Results in a number as the first item processed, 1, tells SQL it is about to deal with integers
SELECT 'whocares' + 1 + '...this guy'
-- Results in a string of 'whocares...this guy' as the first item is a string

实际上,第二行可能会失败,具体取决于您使用的SQL语法/系统......但您明白了这一点。