У меня есть 10 значений длины символов в столбце на SQL сервере. Мне нужно разделить этот столбец на фиксированную длину, удалить ведущие нули и добавить - после каждого значения. Я могу разбить значения, используя Substring и преобразовав их в int. Он работает хорошо.
Однако, когда я пытаюсь объединить, это терпит неудачу. Цените, если вы можете помочь.
SELECT TOP 1 R.COL1, CAST(SUBSTRING(R.COL1,1,1) AS int) AS F1,CAST(SUBSTRING(R.COL1,2,5) AS int) AS F2,CAST(SUBSTRING(R.COL1,7,4) AS int) AS F3 CAST(SUBSTRING(R.COL1,1,1) AS int) +'-' +CAST(SUBSTRING(R.COL1,2,5) AS int) +'-' + CAST(SUBSTRING(R.COL1,7,4) AS int) AS finalString FROM MYTABLE R
Если значение для COL1 IS 1012950001, finalString, которого я ожидаю, будет 1-1295-1, однако результат, который я получаю из вышеуказанного запроса, составляет 1297, поскольку он добавляет все ценности. Цените, если можете помочь.