SQL Server查询奇怪的输出

时间:2013-04-04 12:46:35

标签: 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)

为什么这个查询的输出是'*'?

请解释

由于

1 个答案:

答案 0 :(得分:11)

ISNULL使用第一个参数的数据类型。

这是varchar(1),因为它是文字'0'

的数据类型

999将被截断,因此SQL Server显示“*”