答案ACDE, 本期无人参与。
A:
当你执行一个简单CASE表达式,数据库会将所有的比较值转换成统一的类型。这里有数字和字符串的昏庸,所以所有的值都会被转换成数值型。所以表达式实际上就是:
case 3.14
when 1.41 then 'square root 2'
when 3.14 then 'pi'
else 'something else'
end
这会和pi值匹配。
B:
如同前一选项,数据库将所有比较值转换成数值型。
但是整数就没有小数点后的部分。所以当值被赋予整数型变量,数据库会将其舍入到最接近的整数。这意味着CASE表达式实际上是:
case 3
when 1.41 then 'square root 2'
when 3.14 then 'pi'
else 'something else'
end