相关疑难解决方法(0)

如何从MySQL当前时间检索微秒或毫秒?

我正在尝试在MySQL上创建我的第一个存储函数.在这个函数中,我想以3微秒的数字返回当前日期和时间的时间戳,如下所示:YYYYMMDDHHMMSSZZZ

我在我的数据库中使用此数字来为我的记录脱机创建唯一键,这样当我的系统从不同的脱机服务器合并数据库时它们不会崩溃.

所以我的第一次尝试是 SELECT CAST(MICROSECOND(NOW()) AS CHAR(3));

但它返回0.

如果我试试 SELECT CAST(MICROSECOND('2009-12-31 23:59:59.001210') AS CHAR(3));

它根据我的需要返回121.

那么,如何告诉MySQL我想知道当前时间的微秒?


编辑:

考虑一下:

CREATE FUNCTION CHAVE (pTable VARCHAR(32)) RETURNS CHAR(20)
BEGIN
    DECLARE vSigla CHAR(3);
    DECLARE vDateTime CHAR(14);
    DECLARE vMilli CHAR(3);
    DECLARE vKey CHAR(20);
    SET vSigla = (SELECT SIGLA FROM TABLELIST WHERE NOME = pTable);
    SET vDateTime = (SELECT CAST(LEFT(UTC_TIMESTAMP()+0, 14) AS CHAR(14)));
    SET vMilli = LPAD(FLOOR(RAND() * 1000), 3, '0');
    SET vKey = CONCAT(vSigla, vDateTime, vMilli);
    RETURN vKey;
END;
Run Code Online (Sandbox Code Playgroud)

的结果:

INSERT INTO TABLEX (dateID, …
Run Code Online (Sandbox Code Playgroud)

mysql datetime milliseconds

11
推荐指数
3
解决办法
3万
查看次数

标签 统计

datetime ×1

milliseconds ×1

mysql ×1