2015-05-28 7 views
4

У меня есть следующий запрос, чтобы выбрать запись, но я хочу отформатировать столбец в результирующем наборе.Формат столбца sql при использовании select

SELECT 
    COALESCE(dbo.tblMitchellLandscapeID.PatchSize,0) as PatchSize, 
    dbo.tblMitchellLandscape.MitchellLandscapeName 
FROM tblMitchellLandscapeID 
INNER JOIN dbo.tblMitchellLandscape 
     ON dbo.tblMitchellLandscapeID.MitchellLandscapeID=dbo.tblMitchellLandscape.MitchellLandscapeID 
WHERE AssessmentVersionID = @AssessmentVersionID 

«PatchSize» представляет собой десятичное значение, так что сохраняется всегда, как два знака после запятой «15.10». Все, что я пытаюсь отформатировать до одного десятичного числа при выполнении оператора select, я хочу заполнить набор результатов, например «15.1», а не 15.10.

ответ

7

Вы можете просто бросить его в формат, который вы хотите:

SELECT CAST(COALESCE(li.PatchSize, 0) as decimal(5, 1)) as PatchSize, 
     l.MitchellLandscapeName 
FROM tblMitchellLandscapeID li INNER JOIN 
    dbo.tblMitchellLandscape l 
    ON li.MitchellLandscapeID = l.MitchellLandscapeID 
WHERE AssessmentVersionID = @AssessmentVersionID; 

Обратите внимание на запрос также проще читать (и писать), если вы используете таблицы псевдонимов.

Смежные вопросы