Для всех вас, кто верит в миф о том, что временные переменные находятся только в памяти
Во-первых, табличная переменная НЕ обязательно должна быть резидентной. Под давлением памяти страницы, принадлежащие табличной переменной, могут быть помещены в базу данных tempdb.
Прочтите статью здесь: TempDB :: Переменная таблицы против локальной временной таблицы
Я только что протестировал этот код в 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) = '"'
Вы можете попробовать это-
SELECT left(right(cast(SampleText as nVarchar),LEN(cast(sampleText as nVarchar))-1),LEN(cast(sampleText as nVarchar))-2)
FROM TableName
ура
вы можете заменить кавычки пустой строкой ...
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