4

我有以下 SQL Server 查询:

SELECT ISNULL(MIN(P), 999) AS FLD
FROM (SELECT '0' AS P) AS T
WHERE (1 > 4)

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

请解释

谢谢

4

1 回答 1

11

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

这是varchar(1)因为那是文字的数据类型'0'

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

于 2013-04-04T12:48:08.310 回答