изменить точность столбца представления, которое является результатом объединения - PullRequest
0 голосов
/ 26 октября 2018

Я нашел несколько постов в Интернете об изменении столбцов хранимых процедур и несколько об изменении представлений - пару из них: https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-view-transact-sql?view=sql-server-2017 и https://docs.microsoft.com/en-us/sql/relational-databases/tables/modify-columns-database-engine?view=sql-server-2017. Что вызвало весь этот запрос, так это то, что Наше программное обеспечение для контроля версий отметило изменение характеристик поля. Раньше было (30,15), но теперь это (28,13) Оригинал:

''' Mapped on view Field: ViewName.Function<br/>
''' View field characteristics (type, precision, scale, length): Decimal, 30, 15, 0</remarks>

сейчас:

''' View field characteristics (type, precision, scale, length): Decimal, 28, 13, 0</remarks>

Что-то говорит мне, что базовое представление / функцию нужно изменить, чтобы вывести (30,15), хотя, насколько я могу судить, в этом представлении ничего не менялось годами. В настоящее время дать ViewName.Function оценивает DECIMAL (12,2). В качестве примечания, у меня возникли проблемы с пониманием того, как SSEC обрабатывает DECIMAL (12,2) как (28,13). В настоящее время, когда я иду в SSMS> DatabaseName> Представления> dbo.ViewName> Столбцы> AliasName> щелкните правой кнопкой мыши> Свойства> Числовая точность: 28, Числовой масштаб: 13. Кроме того, когда я нажимаю правой кнопкой мыши на dbo.ViewName> Дизайн, столбец содержит функцию объединения, которая имеет точность (28,13). Когда я щелкаю правой кнопкой мыши по этой функции объединения и перехожу к свойствам, она просто показывает общие свойства для представления. В любом случае, мне нужно найти способ вернуть его к первоначальным характеристикам. Надеюсь, мой запрос имеет смысл. Пожалуйста, дайте мне знать, если мне нужно поделиться какой-либо дополнительной информацией.

1 Ответ

0 голосов
/ 26 октября 2018

@ AaronBertrand предоставил ответ. Мой окончательный код был примерно таким:

SELECT AliasName = CONVERT(DECIMAL(30,15), [the COALESCE function, etc.]). 

Спасибо, сэр !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...