Как я могу удалить ведущие и запаздывающие кавычки в SQL Server?

Для всех вас, кто верит в миф о том, что временные переменные находятся только в памяти

Во-первых, табличная переменная НЕ обязательно должна быть резидентной. Под давлением памяти страницы, принадлежащие табличной переменной, могут быть помещены в базу данных tempdb.

Прочтите статью здесь: TempDB :: Переменная таблицы против локальной временной таблицы

33
задан adeel825 30 June 2009 в 21:20
поделиться

3 ответа

Я только что протестировал этот код в MS SQL 2008 и подтвердил его.

Удалить крайнюю левую цитату:

UPDATE MyTable
SET FieldName = SUBSTRING(FieldName, 2, LEN(FieldName))
WHERE LEFT(FieldName, 1) = '"'

Удалить крайнюю правую цитату: (Исправлено, чтобы избежать ошибки из-за неявного типа преобразование в int)

UPDATE MyTable
SET FieldName = SUBSTRING(FieldName, 1, LEN(FieldName)-1)
WHERE RIGHT(FieldName, 1) = '"'
59
ответ дан 27 November 2019 в 17:33
поделиться

Вы можете попробовать это-

SELECT left(right(cast(SampleText as nVarchar),LEN(cast(sampleText as nVarchar))-1),LEN(cast(sampleText as nVarchar))-2)
  FROM TableName

ура

0
ответ дан 27 November 2019 в 17:33
поделиться

вы можете заменить кавычки пустой строкой ...

SELECT AllRemoved = REPLACE(CAST(MyColumn AS varchar(max)), '"', ''),
       LeadingAndTrailingRemoved = CASE 
           WHEN MyTest like '"%"' THEN SUBSTRING(Mytest, 2, LEN(CAST(MyTest AS nvarchar(max)))-2)
           ELSE MyTest
           END  
FROM   MyTable
2
ответ дан 27 November 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: