默認情況下,TDengine的timestamp字段只支持到毫秒,完全不夠使用,官方文檔說明可以通過配置文件指定enableMicrosecond來開啓微秒,但是實驗證明是不行的。
翻了github的issues記錄,開發者給出了新的解決方案,在創建數據庫時指定precision "us"即可,如下:
taos> create database d1 precision "us";
08/28 16:24:43.812236 7f3533da9700 MND DB:0.d1 is created by root
Query OK, 1 row(s) affected (0.000396s)
taos> use d1
-> ;
Database changed.
taos> create table t1(it timestamp,name nchar(10));
Query OK, 1 row(s) affected (0.006955s)
taos> insert into t1(it,name) values('2019-08-01 01:01:23.123123','aa');
Query OK, 1 row(s) affected (0.000191s)
taos> select * from t1;
it | name |
===================================================================
19-08-01 01:01:23.000000|aa |
19-08-01 01:01:23.123123|aa |
Query OK, 2 row(s) in set (0.000361s)
看來文檔更新不夠及時啊。