Повторите удаление цитаты из 48 полей - PullRequest
0 голосов
/ 23 февраля 2012

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

--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 '"%"'

1 Ответ

1 голос
/ 23 февраля 2012

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

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'
...