标签: sql sql-server database sql-server-2008
我有以下SQL Server查询:
SELECT ISNULL(MIN(P), 999) AS FLD FROM (SELECT '0' AS P) AS T WHERE (1 > 4)
为什么这个查询的输出是'*'?
请解释
由于
答案 0 :(得分:11)
ISNULL使用第一个参数的数据类型。
ISNULL
这是varchar(1),因为它是文字'0'
varchar(1)
'0'
999将被截断,因此SQL Server显示“*”
999