Дать пробел в строке SQL

У меня есть строка SQL, хранящаяся в столбце таблицы, и она содержит символ типа 201603030040000

Поэтому я хочу получить такой результат

2016 0303 0004 0000

Я уже пробовал с вещами,

SET @output = (SELECT Stuff(Voucherid, 5, 0, ' ') + ';' FROM #tmpBus FOR XML PATH(''))

Но, к сожалению, это дает мне такой результат

2016 030300040000

есть ли обходной путь для этой проблемы?

Пока ваши данные всегда 12 символов, и вы всегда хотите разделить 4, 4, 4, 4, вы можете использовать LEFT и SUBSTRING .

 SELECT LEFT(columna, 4) + ' ' + SUBSTRING(columna, 5, 4)+ ' ' + SUBSTRING(columna, 7, 4)+ ' ' + SUBSTRING(columna, 9, 4)+ ' ' + SUBSTRING(columna, 11, 4) FROM yourtable 

Выходы:

 2016 0303 0300 0040 4000 
 SELECT have, SUBSTR(have,1,4) ||' ' ||SUBSTR(have,5,4) ||' ' || SUBSTR(have,9,4) ||' ' || SUBSTR(have,12) AS want FROM ( SELECT '201603030040000' AS have FROM dual ); 
Interesting Posts

ExecuteScalarAsync зависает, но ExecuteScalar мгновенно возвращается

Перенос базы данных доступа на SQL-сервер с использованием SSIS

Получить четверть и год между двумя датами

Нельзя использовать предикат CONTAINS или FREETEXT для табличного или индексированного представления, поскольку он не является полнотекстовым индексированным

Как избежать ошибки первичного ключа обновления с параллельным доступом?

Sql выбрасывает ошибку при выполнении по транзакции

Выполнение расширенной логики в SQL (T-SQL) – Соответствующий алгоритм

Как использовать значение Точного массива вместо Содержит

SELECT записи с условием, которое фильтрует последнее хроническое множественное и конкретное значение столбца

Выражение в секции FOR PIVOT

Альтернативный вариант отображения данных в режиме реального времени

Зеркалирование базы данных с сервером sql не работает с моим приложением asp.net с использованием EF

Контрольные точки SQL Server

Заполнение Html.DropDownList с помощью таблицы внешнего ключа

Подсчет отдельных членов по количеству месяцев в продолжительности времени

Давайте будем гением компьютера.