Sql server 因此,每一行都是不同的。所要做的就是增加排序开销,而不消除任何行。您可以使用RANK或densite\u-RANK来代替。

Sql server 因此,每一行都是不同的。所要做的就是增加排序开销,而不消除任何行。您可以使用RANK或densite\u-RANK来代替。,sql-server,Sql Server,不要使用“RN”,只使用不带引号的RN。出现此错误是因为您将文本值“RN”与where子句中的整数值2进行比较。但由于“RN”是一列,您希望返回字段“RN”中值为2的所有文件,而不是 WHERE **'RN'** = 2 打字 WHERE RN = 2 RN不带引号,因为它是列的名称。请尝试其中RN=2,而不是其中RN=2…并避免作为“RN”。您可以将用作RN(不带两个单引号)。在第一部分中,您对隐式转换的理解不正确。它总是试图转换为更高的优先级,在这种情况下,这就是错误发生的原因。@Se

不要使用“RN”,只使用不带引号的RN。

出现此错误是因为您将文本值“RN”与where子句中的整数值2进行比较。但由于“RN”是一列,您希望返回字段“RN”中值为2的所有文件,而不是

WHERE **'RN'** = 2
打字

 WHERE RN = 2

RN不带引号,因为它是列的名称。

请尝试
其中RN=2
,而不是
其中RN=2
…并避免
作为“RN”
。您可以将
用作RN
(不带两个单引号)。在第一部分中,您对隐式转换的理解不正确。它总是试图转换为更高的优先级,在这种情况下,这就是错误发生的原因。@SeanLange您是正确的。我已更新我的答案以删除该选项。
WHERE **'RN'** = 2
 WHERE RN = 2