我有一个像这样的字符串:
2011-11-11 11:11:11.111111
Run Code Online (Sandbox Code Playgroud)
我需要将它插入MySql,进入datetime列.但是在插入之后,它就变成了
2011-11-11 11:11:11
Run Code Online (Sandbox Code Playgroud)
出了什么问题?
fth*_*lla 40
MySql 5.6+支持时间值中的小数秒,而以前的版本则不支持.
标准datetime列不会保留微秒值,而datetime(6)意志列则不会.你可以在MySql 5.6中测试它:
CREATE TABLE your_table (
d1 datetime,
d2 datetime(6)
);
INSERT INTO your_table VALUES
('2011-11-11 11:11:11.111111', '2011-11-11 11:11:11.111111');
SELECT MICROSECOND(d1) as m1, MICROSECOND(d2) as m2
FROM your_table;
m1 | m2
-----------
0 | 111111
Run Code Online (Sandbox Code Playgroud)
如果您不使用MySql 5.6+,我建议您使用两列,一列用于日期时间部分,一列用于微秒:
CREATE TABLE your_table (
dt datetime,
us int
);
INSERT INTO your_table VALUES
('2011-11-11 11:11:11.111111', MICROSECOND('2011-11-11 11:11:11.111111'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34324 次 |
| 最近记录: |