我的执行计划中有一个警告,我无法删除。我在这里做了一个最小的、可重复的例子:
declare @TestData Table
(
FloatValue float null
)
insert into @TestData values
(null), (0.1)
select
CONVERT(varchar, FloatValue * 100.00) + ' pct.' PctValue
from
@TestData
我把警告也写进去了。
我的执行计划中有一个警告,我无法删除。我在这里做了一个最小的、可重复的例子:
declare @TestData Table
(
FloatValue float null
)
insert into @TestData values
(null), (0.1)
select
CONVERT(varchar, FloatValue * 100.00) + ' pct.' PctValue
from
@TestData
我把警告也写进去了。
2条答案
按热度按时间y0u0uwnf1#
您可以在查询中将
CONVERT(varchar, FloatValue * 100.00)
更改为FORMAT(FloatValue * 100.00, 'N0')
:而且它会摆脱警告:
5vf7fwbs2#
SQL Server有时对警告过于谨慎。
您可能会在执行计划中遇到各种警告,但在复查之后,这些警告被证明是无关紧要的;例如,有时候你可能会看到一个警告,提示内存分配过多,即使这个分配是每个查询可能的 * 最小 * 配置量。
由于这不是与筛选或联接决策有关的列,因此可以放心地忽略它。