mysql - 如何从 MySQL 中的 DATETIME 中的毫秒中删除尾随零

标签 mysql

如何删除 MySQL 中 DATETIME 的更高精度中出现的尾随零。

示例输入/输出:

2018-04-13 13:02:32.948000     =>    2018-04-13 13:02:32.948

最佳答案

如果您直接输出以毫秒为单位的 DATETIME 值,MySQL 会删除尾随的零。

CREATE TABLE test (
    colDateTime DATETIME(6)
);

INSERT INTO test VALUES ('2018-04-17 11:12:13.444000');

现在我们使用下面的 SELECT 语句:

SELECT * FROM test; -- output: 2018-04-17T11:12:13.444Z (0 at the end are removed by MySQL).

在末尾获得零的唯一方法是使用 DATE_FORMAT :

SELECT DATE_FORMAT(colDateTime, '%f') FROM test; -- output: 444000

在这种情况下,您可以 TRIM此字符串值的零:

SELECT TRIM(TRAILING '0' FROM DATE_FORMAT(colDateTime, '%Y-%m-%d %H:%i:%s.%f')) FROM test;

demo: http://sqlfiddle.com/#!9/b0655f/5/2

关于mysql - 如何从 MySQL 中的 DATETIME 中的毫秒中删除尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49874516/

相关文章:

php - 包含数据库中值的下拉菜单

php - PDO 参数读取为字符串而不是 int

php mysqli语句错误

PHP 查询不会更新数据库中的记录

php - Laravel:用于不同公告类型的单个或多个 mysql 表

PHP多重更新功能

mysql - 根据一个 sql 中的状态选择和更新

php - 除了sql注入(inject)还有什么?

php - 过去 24 小时内查看最多的主题

MySQL 查询以获取列 1 的值在列 2 中具有一组值