Tsql 我需要一些帮助来理解这行T-SQL代码
我在一本书中读过这行代码,但不能完全理解它的应用。我理解这是关于隐式转换的,但不完全理解某些代码的用途Tsql 我需要一些帮助来理解这行T-SQL代码,tsql,Tsql,我在一本书中读过这行代码,但不能完全理解它的应用。我理解这是关于隐式转换的,但不完全理解某些代码的用途 DECLARE @sql NVARCHAR( SELECT ISNULL(''5'', 5), ISNULL(5, ''5''), COALESCE(''5'', 5), COALESCE(5, ''5'') ; ' ; EXEC sp_executesql @sql ; SELECT column_ordinal, is_nullable, system_type_name
DECLARE @sql NVARCHAR(
SELECT ISNULL(''5'', 5),
ISNULL(5, ''5''),
COALESCE(''5'', 5),
COALESCE(5, ''5'') ;
' ;
EXEC sp_executesql @sql ;
SELECT column_ordinal,
is_nullable,
system_type_name
FROM master.sys.dm_exec_describe_first_result_set(@sql, NULL, 0) a ;
我将冒一个险,猜测它是用于演示两个类似TSQL函数之间差异的可执行代码。此示例应产生预期结果:
SELECT column_ordinal, is_nullable, system_type_name FROM sys.dm_exec_describe_first_result_set
( N'SELECT ISNULL(''5'', 5), ISNULL(5, ''5''), COALESCE(''5'', 5), COALESCE(5, ''5'');', null, 0);
有一个SQLFiddle示例可用
仔细阅读和的文档,特别注意每种返回类型,将解释结果。这也是说明性的