SQL Server查询奇怪的输出

Sam*_*meh 4 sql database sql-server sql-server-2008

我有以下SQL Server查询:

SELECT ISNULL(MIN(P), 999) AS FLD
FROM (SELECT '0' AS P) AS T
WHERE (1 > 4)
Run Code Online (Sandbox Code Playgroud)

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

请解释

谢谢

Mar*_*ith 11

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

这就是varchar(1)文字的数据类型'0'

999 将被截断,以便SQL Server显示'*'