如何在选择中解决此警告

Ben*_*adi 5 sql-server type-conversion errors

这个查询有问题:

SELECT *
FROM Sales.SalesOrderDetail sod
JOIN Sales.SalesOrderHeader soh
ON sod.SalesOrderID = soh.SalesOrderID--- adventureworks db
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

警告

表达式中的类型转换 (CONVERT(nvarchar(23),[soh].[SalesOrderID],0​​)) 可能会影响查询计划选择中的“CardinalityEstimate”

Jos*_*ell 9

没有什么可以解决的,真的。

该消息引用了Sales.SalesOrderHeader表中的这个计算列:

[SalesOrderNumber]  AS (isnull(N'SO'+CONVERT([nvarchar](23),[SalesOrderID]),N'*** ERROR ***')),
Run Code Online (Sandbox Code Playgroud)

在这种情况下,警告是信息性的,以确保您知道这一个问题,如本问答中所述:表达式中的类型转换可能会影响“CardinalityEstimate” - 在计算列上?