как удалить [] и "" из значения столбца - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть значения строк для одного из столбцов, подобных этому ["576373"].Как можно выбрать только 576373

Ответы [ 3 ]

1 голос
/ 23 апреля 2019

Есть несколько способов получить это.Интересный способ сделать это - использовать функцию PARSENAME.

SELECT PARSENAME( PARSENAME( '["576373"]', 1), 1);

Вы также можете использовать вложенные функции REPLACE.Вот сравнение обоих вариантов.

SELECT PARSENAME( PARSENAME( SomeString, 1), 1),
       REPLACE( REPLACE( REPLACE( SomeString, '[', ''), ']', ''), '"', '')
FROM (VALUES('["576373"]'), ('[57637]'), ('"76373"'))x(SomeString);
0 голосов
/ 23 апреля 2019

SELECT (replace(replace(replace([fieldName],'[',''),']',''),'"','')) FROM [tableName]

0 голосов
/ 23 апреля 2019

Если вам нужно убрать квадратные скобки и кавычки со значения в столбце (как показано в вашем вопросе выше), есть несколько методов, которые вы можете использовать.Вот несколько примеров, основанных на различных ситуациях:

  1. Данные всегда включают символы ["и"].В этом случае SUBSTRING вернет данные, которые вам нужны наиболее быстро:

В этом случае используйте этот код:

-- This simply removes those first two and last two characters.
SELECT SUBSTRING(MyColumnName, 3, Len(MyColumnName) - 4) as FinalValue
Данные могут включать любую комбинацию кавычек и квадратных скобок - это может быть «12345», или [12345], или [«12345»].Для этого простой SUBSTRING неэффективен, поскольку вам нужно определить количество удаляемых символов.В этом случае лучше всего подойдет REPLACE:

В этом случае используйте следующий код:

SELECT REPLACE(REPLACE(REPLACE(MyColumnName, '"', ''), ']', ''), '[', '') as FinalValue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...