Приведение / преобразование символов в Varchars с помощью UDF для SSRS - PullRequest
0 голосов
/ 27 августа 2010

База данных, из которой я чаще всего сообщаю, неправильно набрана.Почти каждое поле, за исключением некоторых целых чисел и даты-времени, является полями CHAR.Это может вызвать проблемы с макетами SSRS, потому что в некоторых полях имеется множество пробелов.

Это приводит к тому, что макеты будут грязными и тому подобное.Я часто повторяю эти поля в своих сценариях, чтобы предотвратить это.

Есть ли какое-либо влияние на производительность, если я создаю общую пользовательскую функцию для автоматического выполнения этого для нескольких полей в одном скрипте?

Является ли одна функция RTRIM.CAST, Convert и т.д. предпочтительнее других?

1 Ответ

1 голос
/ 27 августа 2010

Я бы не сделал функцию для этого, просто используйте CONVERT() для каждого неправильно набранного столбца в результате, что-то вроде этого:

SELECT
    CONVERT(int,RowInt) AS RowInt
        ,RTRIM(CONVERT(varchar(15),RowString)) AS RowString
        ,CONVERT(datetime,RowDatetime) AS RowDatetime
        ,CONVERT(numeric(10,4),RowNumeric) AS RowNumeric
    FROM ...

таким образом, каждый столбец набора результатов имеет правильный тип данных, и SSRS узнает об этом и может применить к ним форматирование.

Если это настоящая хроническая проблема, и вы обнаружите, что слишком много повторяете CONVERT, вы можете просто захотеть создать некоторые представления, которые делают это для вас. просто остерегайтесь, делая взгляды взглядов взглядов.

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