sql - 如何在 SQL 查询中替换当前时间戳
问题描述
这是我的 SQL 查询,我正在尝试将当前时间戳替换为过去的日期,例如CURRENT_TIMESTAMP
16-03-2019 这个日期并查看输出。
SELECT
p.ID, s.ID, p.SCREENCODE, p.SUBJECTCODE, s.SITECODE,
s.NAME, p.SUBJECT_PROTOCOL_NUMBER,
TO_CHAR(to_timestamp_tz(p.D_TOFMORETHAN3UBM_S, 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM'), 'DD-MON-YYYY HH24:MI')
FROM
PATIENT p, SITE s
WHERE
p.SITE = s.ID AND
(p.VPATIENTSTATUS_PATIENT_STATUS = 1 AND
p.V20149_SCRFAILUREACTIVATIONDAT IS NULL)
AND p.DELETED IS NULL
AND ((SELECT COUNT(f.DPG1DP3)
FROM F20034 F
WHERE F.PATIENT = p.ID
AND f.deleted IS NULL
AND To_Date(f.DPG1DP3,'YYYY-MM-DD') = To_Date(SUBSTR(CURRENT_TIMESTAMP-1,1,10), 'DD-MM-YY')) < 1)
ORDER BY
s.SITECODE, p.SUBJECTCODE, p.ID
有人可以帮我吗?因为我在约会时很糟糕:(
解决方案
如果您尝试专门使用该日期,则可以将其替换为日期文字。所以:
To_Date(SUBSTR(CURRENT_TIMESTAMP-1,1,10), 'DD-MM-YY')
变成:
date '2019-03-16'
此外,您应该停止将日期/时间值存储为字符数据类型。
推荐阅读
- sql - 从 Postgres 的数据集中获取每个 id 的最后一行和倒数第二行
- pandas - 根据多个条件在熊猫中创建新列
- python - 合并两个列标题并在 MultiIndex Dataframe python/在列名上方添加列中给出一个新名称
- javascript - 如何让渐进式 Web 应用程序在后台保持打开状态(Service Worker?)
- python-3.x - 尝试使用 Pyspark 加载 30GB SAS 文件时出错
- linux - 尝试在 Linux 中为 .maff 文件创建处理程序
- corda - 如何为网络引导程序准备节点文件夹结构?
- elasticsearch - 几个月后弹性搜索下降
- postgresql - 带有spring jpa nativequery问题的Postgresql jsonb列
- python - Pandas:按复杂条件合并组内的两行