2012-02-23 2 views
0

Этот сценарий ниже работает в поле по полю и удаляет кавычки в начале и в конце каждой записи, НО если у вас более 3 или 4 столбца, копирование, вставка изменений в каждое новое имя столбца занимает огромное количество времени. Любая идея, как это сделать, может проходить через каждый столбец?Повторите удаление котировок из 48 полей

--Removing quotes back and front from fields where datetime_updated is not blank 
UPDATE [Majestic].[dbo].hdiyouth_school_2 
SET datetime_updated=left(right(cast(datetime_updated as nVarchar), 
    LEN(cast(datetime_updated as nVarchar))-1), 
    LEN(cast(datetime_updated as nVarchar))-2) 
WHERE datetime_updated IS NOT NULL AND datetime_updated LIKE '"%"' 
+0

Какая версия SQL? – MyItchyChin

+0

Извините, SQL Server Management Studio 2005 – hermanvn

ответ

1

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

select 
'UPDATE [Majestic].[dbo].hdiyouth_school_2 
SET ['+column_name+']=left(right(cast(datetime_updated as nVarchar), 
    LEN(cast(datetime_updated as nVarchar))-1), 
    LEN(cast(datetime_updated as nVarchar))-2) 
WHERE datetime_updated IS NOT NULL AND datetime_updated LIKE ''"%"'';' 
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME='Employee' and TABLE_SCHEMA='HumanResources' 
+0

Привет, как я могу автоматически сгенерировать его? И где я могу получить детали для TABLE_SCHEMA? – hermanvn

+0

Отредактируйте TABLE_NAME и TABLE_SCHEMA в соответствии с таблицей, которую вы хотите обновить, и запустите в SSMS против вашей базы данных. Скопируйте и вставьте результаты на новую вкладку запросов. Представления INFORMATION_SCHEMA можно найти в обозревателе объектов SSMS, в разделе Views - System Views, в дереве базы данных. –

+0

Также, пожалуйста, прочтите http://sqlblog.com/blogs/aaron_bertrand/archive/2011/11/03/the-case-against-information-schema-views.aspx, если вы распространите этот подход на более сложные сценарии. Я держусь подальше от 'INFORMATION_SCHEMA', потому что они не являются полными, и я бы предпочел бы использовать один и тот же набор метаданных вместо того, чтобы пытаться запомнить правила о том, что я могу получить от них, и что мне нужно получить в другом месте. –

Смежные вопросы