可能重复:
Merge date from one datetime and time from another datetime
如何将两个MySQL列/字段物理合并到一个列/字段中而不会丢失任何数据
具体来说,我将结合DATE和TIME列/字段
感谢
答案 0 :(得分:2)
通过“合并”,您的意思是“添加”吗?听起来你已经在不同的领域中得到了日期和时间,因此将它们放在一起与添加它们是一回事。
如果是这种情况,您可以使用MySQL的ADDTIME()
功能:
mysql> SELECT ADDTIME(aDate, aTime) FROM aTable;
如果你想连接它们,那么MySQL有一个CONCAT()函数......但它似乎不适合你的目的。
- 编辑 -
如果它是你要追踪的另一个专栏,那么这是一个两步的过程:
-- Add the column
mysql> ALTER TABLE aTable ADD COLUMN aDateTime DateTime DEFAULT NULL;
-- Insert the data
mysql> UPDATE aTable SET aDateTime = ADDTIME(aDate, aTime);
但在此之后,你将不得不在所有三列中维护它。也就是说,当您添加/更改aDateTime
或aDate
时,aTime
不会自动更新。
答案 1 :(得分:2)
添加时间戳字段,使用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;
答案 2 :(得分:0)
我不想,如果你想创建一个新的领域,但万一你想做它
alter table t add yournewfield datetime not null;
UPDATE table t SET younerwfield = addtime(t.date,t.time);