Я имею дело с досадной базой данных, где одно поле содержит то, что действительно должно храниться в двух отдельных полях. Таким образом, в столбце хранится нечто вроде «Первая строка ~ @ ~ Вторая строка», где «~ @ ~» является разделителем. (Опять же, я не проектировал это, я просто пытаюсь это исправить.)SQL Server: любой эквивалент strpos()?
Я хочу, чтобы запрос, чтобы переместить это в два столбца, который будет выглядеть примерно так:
UPDATE UserAttributes
SET str1 = SUBSTRING(Data, 1, STRPOS(Data, '[email protected]~')),
str2 = SUBSTRING(Data, STRPOS(Data, '[email protected]~')+3, LEN(Data)-(STRPOS(Data, '[email protected]~')+3))
Но Я не могу найти, что существует какой-либо эквивалент strpos.
Важно отметить, что порядок аргументов переключается сюда, что приводит к тому, что ошибки «String или двоичные данные будут усечены», если вы оставите иглу и стог сена в том же порядке, что и StrPos. – Noumenon