две разные строки из столбца - PullRequest
0 голосов
/ 11 июля 2019

У меня есть два числа в столбце, которые я хочу разделить на два разных столбца, например, у меня есть столбец Количество, который содержит такие тексты, как:

Quantity change: old=100, new=0
Quantity change: old=2152, new=2139

, и я хочу получить запрос, который будетиметь два столбца, один из которых показывает «Старое количество», а другой - «Новое количество»

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Вы можете использовать substring_index().Предполагая, что значения являются числами:

select substring_index(quantity, 'old=', -1) + 0 as old_value,
       substring_index(quantity, 'new=', -1) + 0 as new_value

При этом используется неявное преобразование для преобразования значений в числа.Преобразуются только начальные цифры, поэтому после =.

0 голосов
/ 11 июля 2019
SELECT (substring(Quantity,
CHARINDEX('w=', Quantity)+2,(len(Quantity)-CHARINDEX('w=', Quantity)))) AS OldQuantity,
( substring(Quantity,
CHARINDEX('old=', Quantity)+4,(CHARINDEX(',', Quantity)-(CHARINDEX('old=', Quantity)+4)))) AS NewQuantity
from tablename
;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...