下面的sql将返回什么?为什么?
SELECT 1 + '+' + 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语法/系统......但您明白了这一点。