Обновите столбец в SQL, вставив символ в определенной точке - PullRequest
0 голосов
/ 22 июня 2011

У меня есть SQL-таблица результатов сбора форм.После того, как было собрано около 200 результатов, я заметил, что вместо даты в формате 2011-06-01, что это было в формате 2011-6-01, пропуская ведущий ноль.Это создает некоторые проблемы с обработкой данных.Есть ли способ обновить все значения 2011-6-xx до значения 2011-06-xx?Решения в PHP / MySQL или просто в выражениях MS-SQL являются приемлемыми, поскольку данные собираются на веб-сервере с использованием формы PHP / MySQL, экспортируются в CSV и затем импортируются в базу данных MS-SQL на сайте для анализа данных.1001 *

Ответы [ 3 ]

3 голосов
/ 22 июня 2011
UPDATE `table` SET `date_column` = REPLACE(`date_column`, '2011-6-', '2011-06-') WHERE `date_column` LIKE '2011-6-%';
2 голосов
/ 22 июня 2011
UPDATE Table1
SET field1 = REPLACE(field1, '2011-6-', '2011-06-')
WHERE field1 LIKE '2011-6%' 

Где позволит вам использовать индекс и заменять намного быстрее, чем просматривать все строки.
Также в режиме strict MySQL не будет выполнять операторы UPDATE без предложения where.

1 голос
/ 22 июня 2011

Вы говорите о MS-SQL и MySQL. Если это MS SQL, то ниже должно работать. Я не знаю, использует ли MySQL REPLACE или имеет эквивалентную функцию.

UPDATE
    Some_Table
SET
    some_string = REPLACE(some_string, '2011-6-', '2011-06-')
WHERE
    some_string LIKE '2011-6%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...