更新SQL中的列,在特定点插入字符

时间:2011-06-22 18:53:29

标签: php mysql sql sql-server sql-update

我有一个SQL表收集表单结果。我注意到在收集了大约200个结果后,而不是2011-06-01格式的日期,它的格式为2011-6-01,跳过前导零。这给出了一些数据处理问题。有没有办法更新所有2011-6-xx值,然后再制作2011-06-xx?可以接受PHP / MySQL或MS-SQL语句中的解决方案,因为数据是使用PHP / MySQL表单在Web服务器上收集,导出为CSV,然后导入到现场的MS-SQL数据库中进行数据分析。 / p>

3 个答案:

答案 0 :(得分:3)

UPDATE `table` SET `date_column` = REPLACE(`date_column`, '2011-6-', '2011-06-') WHERE `date_column` LIKE '2011-6-%';

答案 1 :(得分:2)

UPDATE Table1
SET field1 = REPLACE(field1, '2011-6-', '2011-06-')
WHERE field1 LIKE '2011-6%' 

在哪里可以让你使用索引和替换比查看所有行更快 同样在strict模式下,MySQL不会在没有where子句的情况下执行UPDATE语句。

答案 2 :(得分:1)

您谈论的是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%'