我已经研究了一个星期,但仍然没有运气。我有一个通过 php 加载到“temploadsi”表中的 txt 文件。文本文件将始终包含数据库中已有的旧数据,因此我只想要“新”数据。我的想法是有一个加载表'temploadsi',然后比较时间戳并仅将“新”数据导入表'tempdatasi'。问题是时间戳列的格式类似于“MM/DD/YYYY HH:MM:SS”,并且不会进入 mySQL 日期时间字段。因此,我将其设置为文本字段。我想将文本转换为日期时间字段,如“YYYY-MM-DD HH:MM:SS”。我查看了 STR_TO_DATE 和 DateTime 函数,但无法更新“temploadsi”。大家能帮忙吗?
问问题
1339 次
2 回答
2
您未能更新该字段的原因是因为您的数据时间24:59:59
无效。我认为的最长时间是23:59:59
,因此要将其转换为日期,您需要使用以下格式
SELECT DATE_FORMAT(STR_TO_DATE(datetime,'%m/%d/%Y %x:%x:%x'), '%Y-%m-%d 23:59:59')
FROM table1
所以如果你不想更新你的字段,你可以使用这个查询
UPDATE tableName
SET your_columnname = DATE_FORMAT(STR_TO_DATE(your_columnname, '%m/%d/%Y %x:%x:%x'), '%Y-%m-%d 23:59:59')
并且此查询假定您要更新的列具有VARCHAR
数据类型。
于 2012-12-10T23:25:17.150 回答
0
类似 Str_to_date('12/10/2012 23:59:59','%m/%d/%y %h:%i:%s')
不明白为什么你找不到这个
[Mysql 帮助] http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date
于 2012-12-10T23:26:45.647 回答