SELECT qjmj,qjmjbh,qjts,qjkssj,qjjssj, (qjts - DATEDIFF(day, qjkssj, GETDATE())) as syts FROM jx_mj_qjcsjlb ORDER BY cjsj DESC; 计算不出每条记录的剩余时间 使用pgsql
时间: 2023-09-09 16:14:33 浏览: 236
如果您使用的是 PostgreSQL 数据库,可以使用以下 SQL 查询语句来计算每条记录的剩余时间:
```
SELECT qjmj, qjmjbh, qjts, qjkssj, qjjssj,
(qjts - DATE_PART('day', CURRENT_DATE - qjkssj)) as syts
FROM jx_mj_qjcsjlb
ORDER BY cjsj DESC;
```
这个查询语句中的 syts 列使用了 PostgreSQL 中的 DATE_PART 函数来计算从 qjkssj 到当前时间的天数差,并将其从 qjts 中减去,得到每条记录的剩余天数。请注意,使用 DATE_PART 函数时需要指定时间间隔参数,这里使用了 'day' 表示计算天数。
相关问题
SELECT qjmj, qjmjbh, qjts, qjkssj, qjjssj, (qjts - DATE_PART('day', CURRENT_DATE - qjkssj)) as syts FROM jx_mj_qjcsjlb ORDER BY cjsj DESC;
这个 SQL 查询语句可以计算出每条记录的剩余时间,其中 syts 列表示剩余天数。如果您希望将剩余天数转换为其他时间单位,可以使用 PostgreSQL 中的 DATE_TRUNC 函数和 DATE_PART 函数来实现。以下是一个将剩余天数转换为小时数的示例:
```
SELECT qjmj, qjmjbh, qjts, qjkssj, qjjssj,
DATE_PART('day', (qjts - DATE_PART('day', CURRENT_DATE - qjkssj)) * INTERVAL '1 day') * 24 +
DATE_PART('hour', (qjts - DATE_PART('day', CURRENT_DATE - qjkssj)) * INTERVAL '1 day') as syts_hours
FROM jx_mj_qjcsjlb
ORDER BY cjsj DESC;
```
这个查询语句中的 syts_hours 列计算了每条记录的剩余时间,将剩余天数乘以 24 得到小时数,再加上剩余的小时数即可。如果您需要将剩余时间转换为其他单位,可以仿照这个查询语句进行修改。
SELECT qjmj,qjmjbh,qjts,qjkssj,qjjssj, (select sum(CAST(qjts AS DOUBLE PRECISION) ) from jx_mj_qjcsjlb where v.zybh=zybh and v.cjsj <=cjsj) as syts FROM jx_mj_qjcsjlb v ORDER BY cjsj DESC; 计算不出每条的剩余天数
这个 SQL 查询语句中的子查询语句是计算出所有记录的 qjts 字段值的总和,并将其作为一个名为 syts 的列显示在查询结果中。如果您想要计算每条记录的剩余天数,需要对子查询做出一些修改。假设您要查询的记录都是当前时间之前的记录,可以使用以下 SQL 查询语句:
SELECT qjmj,qjmjbh,qjts,qjkssj,qjjssj,
(qjts - DATEDIFF(day, qjkssj, GETDATE())) as syts
FROM jx_mj_qjcsjlb
ORDER BY cjsj DESC;
这个查询语句中的 syts 列计算了每条记录的剩余天数,通过将 qjts 减去从 qjkssj 到当前时间的天数差来实现。请根据您的具体需求进行修改。
阅读全文