Добавление символов с помощью встроенной формулы при выборке столбца в SQL Server

Мне дали сценарий, чтобы выбрать 4 символа из данной ячейки (последние 4)

Я делаю это вручную с помощью выражения Case. Мне нужно автоматизировать это, а не с помощью дел

Я сделал это.

SELECT CASE WHEN LEN(ticket_number) >= 4 THEN
              'x' + RIGHT(ticket_number,4)
            WHEN LEN(ticket_number) = 3 THEN 
              'x0' + ticket_number
            WHEN LEN(ticket_number) = 2 THEN 
              'x00' + ticket_number
            WHEN LEN(ticket_number) = 1 THEN 
              'x000' + ticket_number
            ELSE
              ''
        END AS ticket_number
FROM tickets
WHERE ticket_number <> ''
ORDER BY date DESC

Мне нужно оптимизировать этот запрос.

2 ответа

Решение

Вы имеете в виду, как это?

'x' + RIGHT('000'+ticket_number,4) AS ticket_number

Если я жестко закодирую двухзначное значение:

SELECT 'x' + RIGHT('000'+'12',4) AS ticket_number

Я получил:

x0012

Так что решение определенно работает.

Выберите тик + REPLICATE(0,4-лен (тик)) от галочки

Другие вопросы по тегам