Как заменить все вхождения совпадающей строки в таблицу базы данных с помощью ColdFusion - PullRequest
0 голосов
/ 05 июля 2011

Работа с базой данных MS Access, с использованием одной конкретной таблицы и разбросанной по всей таблице по разным позициям в столбцах даты (которые сами могут быть в разном порядке в результате импорта данных) - это текст «Неизвестно».Я хочу заменить вхождения этой текстовой строки по всей таблице данных.

Единственный способ, которым я могу думать об этом, - это экспортировать в формат csv и выполнить REReplace, а затем снова импортировать данные, но я бы хотелХотелось бы узнать, есть ли способ «гладкой»?

Столбцы содержат данные, которые представляют собой импорт данных из CSV-файла, поэтому все столбцы являются текстовыми, они могут содержать сочетание «строки даты», текста, числа (как строка) и ноль.

Ответы [ 3 ]

1 голос
/ 09 июля 2011

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

http://msdn.microsoft.com/en-us/library/ms186862.aspx

Вот пример, который я обновил в таблице клиентов примера базы данных Northwind:

update customers set Customers.[Job Title] = replace( Customers.[Job Title], 'Purchasing', 'Manufacturing');

Итак, чтобы перевести его в общий пример:

update TABLENAME set FIELD = 
    replace( FIELD, 'STRING_TO_REPLACE', 'STRING_TO_REPLACE_WITH' )

Это обновляет всю таблицу в одном выражении.Будьте осторожны;)

0 голосов
/ 05 июля 2011

Почему бы просто не открыть файл CSV в Notepad ++ (или аналогичный) и выполнить поиск / замену?

0 голосов
/ 05 июля 2011

Вы можете сделать это, используя Access, запустив команду edit-replace. Если вам нужно сделать это в коде - вы можете открыть набор записей, просмотреть записи и для каждого запуска поля:

rst.fields(i)=replace(rst.fields(i),"Not known","Something")

Вот как это работает в VBA, поверьте, вы можете сделать нечто подобное в Coldfusion

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...