可能重复:
Merge date from one datetime and time from another datetime合并场的两列在MySQL
我如何可以物理合并两个MySQL列/字段合并到一列/场,而不会丢失它
任何数据具体来说,我将组合日期和时间列/字段
谢谢
可能重复:
Merge date from one datetime and time from another datetime合并场的两列在MySQL
我如何可以物理合并两个MySQL列/字段合并到一列/场,而不会丢失它
任何数据具体来说,我将组合日期和时间列/字段
谢谢
与timestamp
功能添加您的时间戳字段,进行初始化,然后,一旦你感到安全,防摔旧的专栏。事情是这样的:
alter table your_table add timestamp_column timestamp;
update your_table set timestamp_column = timestamp(date_column, time_column);
-- Pause and make sure everything is okay.
-- Take your time, the database will wait.
alter table your_table drop column date_column;
alter table your_table drop column time_column;
alter table your_table modify timestamp_column timestamp not null;
像魅力一样工作谢谢 –
通过“合并”,你的意思是“添加”?这听起来像是你在不同的领域得到了日期和时间,所以把它们放在一起与添加它们是一回事。
如果是这样的话,你可以使用MySQL的ADDTIME()
功能:
mysql> SELECT ADDTIME(aDate, aTime) FROM aTable;
如果你的意思是将它们连接起来,那么MySQL有一个CONCAT()函数...但它似乎并不适合你的目的。
--edited--
如果它是你后另一列,这是一个两步的过程:
-- Add the column
mysql> ALTER TABLE aTable ADD COLUMN aDateTime DateTime DEFAULT NULL;
-- Insert the data
mysql> UPDATE aTable SET aDateTime = ADDTIME(aDate, aTime);
但在这之后,你必须保持它在所有三个列。即,当您添加/更改aDate
或aTime
时,aDateTime
不会自动更新。
我是什么意思就是将两列物理结合成一个物体,这意味着将会创建一个新列。任何解决方案,我可以做到这一点?谢谢 –
啊,明白了。刚编辑答案。我没有在我面前的终端,所以它是完全未经测试......但它应该帮助你的方式。 –
我试过你的代码,它的工作,我从它学到的东西谢谢=) –
我不想,如果你想创建一个新的领域,但以防万一你想做到这一点
alter table t add yournewfield datetime not null;
UPDATE table t SET younerwfield = addtime(t.date,t.time);
改变表线程添加dtposted日期时间不为空; 更新表线程SET dtposted = addtime(threads.dateposted,threads.dateposted); 我做了这样的事情,列已成功创建,但在UPDATE语句上有错误 –
请确保所有属性都有正确的名称 –
看看这个http://stackoverflow.com/questions/2383133/merge-date-from-one-datetime-and-time-from-another-datetime –