温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库时间戳怎么查询

发布时间:2026-11-06 15:00:54 来源:亿速云 阅读:90 作者:小樊 栏目:数据库

“数据库时间戳怎么查询”这个问题要看你用的是哪种数据库,以及你是想查询当前时间的时间戳,还是表中存的时间戳字段,还是把时间转成时间戳 / 把时间戳转成时间。下面按常见情况说明。


一、查询“当前时间的时间戳”

1. MySQL / MariaDB

-- 当前 UNIX 时间戳(秒)
SELECT UNIX_TIMESTAMP();

-- 当前时间
SELECT NOW();

2. PostgreSQL

-- 当前 UNIX 时间戳(秒,带小数)
SELECT EXTRACT(EPOCH FROM NOW());

-- 整数秒
SELECT FLOOR(EXTRACT(EPOCH FROM NOW()));

3. SQL Server

SELECT DATEDIFF(SECOND, '1970-01-01', GETDATE());

4. Oracle

SELECT (SYSDATE - DATE '1970-01-01') * 86400 FROM dual;

5. SQLite

SELECT strftime('%s', 'now');

二、查询“表里的时间戳字段”

假设表 orders 有一个字段 create_time(可以是 TIMESTAMP 或存的是 UNIX 时间戳)

情况 A:字段是时间类型(如 DATETIME / TIMESTAMP)

SELECT create_time FROM orders;

情况 B:字段是 UNIX 时间戳(整数)

SELECT create_time FROM orders;

情况 C:时间转时间戳

MySQL

SELECT UNIX_TIMESTAMP(create_time) FROM orders;

PostgreSQL

SELECT EXTRACT(EPOCH FROM create_time) FROM orders;

情况 D:时间戳转时间

MySQL

SELECT FROM_UNIXTIME(create_time) FROM orders;

PostgreSQL

SELECT TO_TIMESTAMP(create_time) FROM orders;

三、按时间范围查询(常见)

-- MySQL 示例
SELECT * FROM orders
WHERE create_time >= '2024-01-01'
  AND create_time < '2024-02-01';

如果是 UNIX 时间戳:

SELECT * FROM orders
WHERE create_time BETWEEN 1704067200 AND 1706745599;

四、你可以补充这些信息,我可以给你准确 SQL

  1. 用的是哪种数据库(MySQL / PostgreSQL / Oracle 等)
  2. 时间戳是「时间类型」还是「整数时间戳」
  3. 你想查什么(当前时间 / 某段时间 / 转换格式)

告诉我后我可以直接写给你可用的查询语句。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手