@@ -165,28 +165,31 @@ BEGIN
165165 ELSE ISNULL([c].[name], ''N/A'')
166166 END
167167 ,'' | ''
168- ,CONCAT(UPPER(type_name( user_type_id))
168+ ,CONCAT(UPPER(TYPE_NAME([ user_type_id] ))
169169 ,CASE
170- WHEN TYPE_NAME(user_type_id) IN (N''decimal'',N''numeric'')
171- THEN CONCAT(N''('',CAST(precision AS varchar(5)), N'','',CAST(scale AS varchar(5)), N'')'')
172- WHEN [max_length] = -1 --Max length
173- THEN N''(MAX)''
174- WHEN TYPE_NAME(user_type_id) IN (''varchar'', ''char'')
175- THEN QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
176- WHEN TYPE_NAME(user_type_id) IN (N''nvarchar'',N''nchar'')
177- THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
178- WHEN TYPE_NAME(user_type_id) IN (N''time'',N''datetime2'',N''datetimeoffset'')
179- THEN QUOTENAME(CAST(scale AS varchar(5)), ''('')
180- WHEN TYPE_NAME(user_type_id) in (N''float'')
181- THEN CASE
182- WHEN precision = 53
183- THEN N''''
184- ELSE QUOTENAME(CAST(precision AS varchar(5)),''('') END
185- WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
186- N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
187- N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
188- THEN N''''
189- ELSE QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
170+ WHEN TYPE_NAME([user_type_id]) IN (N''decimal'',N''numeric'')
171+ THEN CONCAT(N''('',CAST(precision AS varchar(5)), N'','',CAST(scale AS varchar(5)), N'')'')
172+ WHEN TYPE_NAME([user_type_id]) IN (''varchar'', ''char'')
173+ THEN QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
174+ WHEN TYPE_NAME([user_type_id]) IN (N''time'',N''datetime2'',N''datetimeoffset'')
175+ THEN QUOTENAME(CAST(scale AS varchar(5)), ''('')
176+ WHEN TYPE_NAME([user_type_id]) in (N''float'')
177+ THEN CASE
178+ WHEN [c].precision = 53
179+ THEN N''''
180+ ELSE CONCAT(N''('',CAST([c].precision AS varchar(5)),N'')'')
181+ END
182+ WHEN TYPE_NAME([c].user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
183+ N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
184+ N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
185+ THEN N''''
186+ ELSE CASE
187+ WHEN [max_length] = -1
188+ THEN N''(MAX)''
189+ WHEN TYPE_NAME([user_type_id]) IN (N''nvarchar'',N''nchar'')
190+ THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
191+ ELSE QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
192+ END
190193 END)
191194 ,'' | ''
192195 ,CASE [c].[is_nullable]
@@ -367,28 +370,31 @@ BEGIN
367370 + N'INSERT INTO #markdown
368371 SELECT CONCAT(''| '', [c].[name]
369372 ,'' | ''
370- ,CONCAT(UPPER(type_name( user_type_id))
373+ ,CONCAT(UPPER(TYPE_NAME([ user_type_id] ))
371374 ,CASE
372- WHEN TYPE_NAME(user_type_id) IN (N''decimal'',N''numeric'')
373- THEN CONCAT(N''('',CAST(precision AS varchar(5)), N'','',CAST(scale AS varchar(5)), N'')'')
374- WHEN [max_length] = -1 --Max length
375- THEN N''(MAX)''
376- WHEN TYPE_NAME(user_type_id) IN (''varchar'', ''char'')
377- THEN QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
378- WHEN TYPE_NAME(user_type_id) IN (N''nvarchar'',N''nchar'')
379- THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
380- WHEN TYPE_NAME(user_type_id) IN (N''time'',N''datetime2'',N''datetimeoffset'')
381- THEN QUOTENAME(CAST(scale AS varchar(5)), ''('')
382- WHEN TYPE_NAME(user_type_id) in (N''float'')
383- THEN CASE
384- WHEN precision = 53
385- THEN N''''
386- ELSE QUOTENAME(CAST(precision AS varchar(5)),''('') END
387- WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
388- N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
389- N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
390- THEN N''''
391- ELSE QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
375+ WHEN TYPE_NAME([user_type_id]) IN (N''decimal'',N''numeric'')
376+ THEN CONCAT(N''('',CAST(precision AS varchar(5)), N'','',CAST(scale AS varchar(5)), N'')'')
377+ WHEN TYPE_NAME([user_type_id]) IN (''varchar'', ''char'')
378+ THEN QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
379+ WHEN TYPE_NAME([user_type_id]) IN (N''time'',N''datetime2'',N''datetimeoffset'')
380+ THEN QUOTENAME(CAST(scale AS varchar(5)), ''('')
381+ WHEN TYPE_NAME([user_type_id]) in (N''float'')
382+ THEN CASE
383+ WHEN [c].precision = 53
384+ THEN N''''
385+ ELSE CONCAT(N''('',CAST([c].precision AS varchar(5)),N'')'')
386+ END
387+ WHEN TYPE_NAME([c].user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
388+ N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
389+ N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
390+ THEN N''''
391+ ELSE CASE
392+ WHEN [max_length] = -1
393+ THEN N''(MAX)''
394+ WHEN TYPE_NAME([user_type_id]) IN (N''nvarchar'',N''nchar'')
395+ THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
396+ ELSE QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
397+ END
392398 END)
393399 ,'' | ''
394400 ,CASE [c].[is_nullable]
@@ -488,30 +494,32 @@ BEGIN
488494 INSERT INTO #markdown
489495 select CONCAT(''| '', CASE WHEN LEN([param].[name]) = 0 THEN ''*Output*'' ELSE [param].[name] END
490496 ,'' | ''
491- ,CONCAT(UPPER(type_name( user_type_id))
497+ ,CONCAT(UPPER(TYPE_NAME([ user_type_id] ))
492498 ,CASE
493- WHEN TYPE_NAME(user_type_id) IN (N''decimal'',N''numeric'')
499+ WHEN TYPE_NAME([ user_type_id] ) IN (N''decimal'',N''numeric'')
494500 THEN CONCAT(N''('',CAST(precision AS varchar(5)), N'','',CAST(scale AS varchar(5)), N'')'')
495- WHEN [max_length] = -1 --Max length
496- THEN N''(MAX)''
497- WHEN TYPE_NAME(user_type_id) IN (''varchar'', ''char'')
498- THEN QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
499- WHEN TYPE_NAME(user_type_id) IN (N''nvarchar'',N''nchar'')
500- THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
501- WHEN TYPE_NAME(user_type_id) IN (N''time'',N''datetime2'',N''datetimeoffset'')
501+ WHEN TYPE_NAME([user_type_id]) IN (''varchar'', ''char'')
502+ THEN QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
503+ WHEN TYPE_NAME([user_type_id]) IN (N''time'',N''datetime2'',N''datetimeoffset'')
502504 THEN QUOTENAME(CAST(scale AS varchar(5)), ''('')
503- WHEN TYPE_NAME(user_type_id) in (N''float'')
505+ WHEN TYPE_NAME([ user_type_id] ) in (N''float'')
504506 THEN CASE
505507 WHEN precision = 53
506508 THEN N''''
507509 ELSE QUOTENAME(CAST(precision AS varchar(5)),''('') END
508- WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
510+ WHEN TYPE_NAME([ user_type_id] ) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
509511 N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
510512 N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
511513 THEN N''''
512- WHEN [is_readonly] = 1 --User defined table type
513- THEN N''''
514- ELSE QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
514+ ELSE CASE
515+ WHEN [is_readonly] = 1 --User defined table type
516+ THEN N''''
517+ WHEN [max_length] = -1
518+ THEN N''(MAX)''
519+ WHEN TYPE_NAME([user_type_id]) IN (N''nvarchar'',N''nchar'')
520+ THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
521+ ELSE QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
522+ END
515523 END)
516524 ,'' | ''
517525 ,CASE [is_output]
@@ -612,30 +620,32 @@ BEGIN
612620 INSERT INTO #markdown
613621 select CONCAT(''| '', CASE WHEN LEN([param].[name]) = 0 THEN ''*Output*'' ELSE [param].[name] END
614622 ,'' | ''
615- ,CONCAT(UPPER(type_name( user_type_id))
616- ,CASE
617- WHEN TYPE_NAME(user_type_id) IN (N''decimal'',N''numeric'')
623+ ,CONCAT(UPPER(TYPE_NAME([ user_type_id] ))
624+ ,CASE
625+ WHEN TYPE_NAME([ user_type_id] ) IN (N''decimal'',N''numeric'')
618626 THEN CONCAT(N''('',CAST(precision AS varchar(5)), N'','',CAST(scale AS varchar(5)), N'')'')
619- WHEN [max_length] = -1 --Max length
620- THEN N''(MAX)''
621- WHEN TYPE_NAME(user_type_id) IN (''varchar'', ''char'')
622- THEN QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
623- WHEN TYPE_NAME(user_type_id) IN (N''nvarchar'',N''nchar'')
624- THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
625- WHEN TYPE_NAME(user_type_id) IN (N''time'',N''datetime2'',N''datetimeoffset'')
627+ WHEN TYPE_NAME([user_type_id]) IN (''varchar'', ''char'')
628+ THEN QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
629+ WHEN TYPE_NAME([user_type_id]) IN (N''time'',N''datetime2'',N''datetimeoffset'')
626630 THEN QUOTENAME(CAST(scale AS varchar(5)), ''('')
627- WHEN TYPE_NAME(user_type_id) in (N''float'')
631+ WHEN TYPE_NAME([ user_type_id] ) in (N''float'')
628632 THEN CASE
629633 WHEN precision = 53
630634 THEN N''''
631635 ELSE QUOTENAME(CAST(precision AS varchar(5)),''('') END
632- WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
636+ WHEN TYPE_NAME([ user_type_id] ) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
633637 N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
634638 N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
635639 THEN N''''
636- WHEN [is_readonly] = 1 --User defined table type
637- THEN N''''
638- ELSE QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
640+ ELSE CASE
641+ WHEN [is_readonly] = 1 --User defined table type
642+ THEN N''''
643+ WHEN [max_length] = -1
644+ THEN N''(MAX)''
645+ WHEN TYPE_NAME([user_type_id]) IN (N''nvarchar'',N''nchar'')
646+ THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
647+ ELSE QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
648+ END
639649 END)
640650 ,'' | ''
641651 ,CASE [is_output]
@@ -735,30 +745,32 @@ BEGIN
735745 INSERT INTO #markdown
736746 select CONCAT(''| '', CASE WHEN LEN([param].[name]) = 0 THEN ''*Output*'' ELSE [param].[name] END
737747 ,'' | ''
738- ,CONCAT(UPPER(type_name( user_type_id))
748+ ,CONCAT(UPPER(TYPE_NAME([ user_type_id] ))
739749 ,CASE
740- WHEN TYPE_NAME(user_type_id) IN (N''decimal'',N''numeric'')
750+ WHEN TYPE_NAME([ user_type_id] ) IN (N''decimal'',N''numeric'')
741751 THEN CONCAT(N''('',CAST(precision AS varchar(5)), N'','',CAST(scale AS varchar(5)), N'')'')
742- WHEN [max_length] = -1 --Max length
743- THEN N''(MAX)''
744- WHEN TYPE_NAME(user_type_id) IN (''varchar'', ''char'')
745- THEN QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
746- WHEN TYPE_NAME(user_type_id) IN (N''nvarchar'',N''nchar'')
747- THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
748- WHEN TYPE_NAME(user_type_id) IN (N''time'',N''datetime2'',N''datetimeoffset'')
752+ WHEN TYPE_NAME([user_type_id]) IN (''varchar'', ''char'')
753+ THEN QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
754+ WHEN TYPE_NAME([user_type_id]) IN (N''time'',N''datetime2'',N''datetimeoffset'')
749755 THEN QUOTENAME(CAST(scale AS varchar(5)), ''('')
750- WHEN TYPE_NAME(user_type_id) in (N''float'')
756+ WHEN TYPE_NAME([ user_type_id] ) in (N''float'')
751757 THEN CASE
752758 WHEN precision = 53
753759 THEN N''''
754760 ELSE QUOTENAME(CAST(precision AS varchar(5)),''('') END
755- WHEN TYPE_NAME(user_type_id) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
761+ WHEN TYPE_NAME([ user_type_id] ) IN (N''int'',N''bigint'',N''smallint'',N''tinyint'',N''money'',N''smallmoney'',
756762 N''real'',N''datetime'',N''smalldatetime'',N''bit'',N''image'',N''text'',N''uniqueidentifier'',
757763 N''date'',N''ntext'',N''sql_variant'',N''hierarchyid'',''geography'',N''timestamp'',N''xml'')
758764 THEN N''''
759- WHEN [is_readonly] = 1 --User defined table type
760- THEN N''''
761- ELSE QUOTENAME(CAST(max_length AS VARCHAR(10)), ''('')
765+ ELSE CASE
766+ WHEN [is_readonly] = 1 --User defined table type
767+ THEN N''''
768+ WHEN [max_length] = -1
769+ THEN N''(MAX)''
770+ WHEN TYPE_NAME([user_type_id]) IN (N''nvarchar'',N''nchar'')
771+ THEN QUOTENAME(CAST([max_length]/2 AS VARCHAR(10)), ''('')
772+ ELSE QUOTENAME(CAST([max_length] AS VARCHAR(10)), ''('')
773+ END
762774 END)
763775 ,'' | ''
764776 ,CASE [is_output]
0 commit comments