sql - 比较oracle中的两个日期
问题描述
我们如何比较两个日期
set_up_date = 20-02-18 (in date)
expiry_date = 23-04-20 (in date)
select *
BETWEEN TO_NUMBER(TO_CHAR('set_up_date','YYYYMMDD')) AND
TO_NUMBER(TO_CHAR('expiry_date','YYYYMMDD'))
from dual;
解决方案
'set_up_date'
并且'expiry_date'
是字符串文字 - 它们不是列名或绑定变量。您还需要对具有以下顺序的语句的查询使用正确的语法:SELECT ... FROM ... [WHERE ...] [GROUP BY ...] [ORDER BY ...]
.
因此,如果您有一个包含数据类型列的表your_table
,那么您可以将其与两个变量进行比较,并使用以下方法在您的问题中标识:your_date_column
DATE
DATE
set_up_date
expiry_date
SELECT *
FROM your_table_name
WHERE your_date_column BETWEEN set_up_date AND expiry_date;
推荐阅读
- java - 在 Spark Structured Streaming 中比较流式查询的“numInputRows”和“numOutputRows”的最佳方法是什么?
- sql - 无法在 sql shell 上执行在 pgAdmin 中创建的函数:“函数...不存在”
- stata - 在 stata 的 do-file 的序言中始终包含哪些命令?
- python - django celery 显示错误 -- Process "ForkPoolWorker-1" pid:41 exited with "exitcode 70"
- javascript - 单击选择选项javascript后如何显示警报?
- android - 在 Android Recorder 程序中获取 IOException
- javascript - 选择选项后如何显示选择的选项
- react-native - React native react-native-camera 和 @leesiongchan/react-native-esc-pos 都出现错误
- ios - 带有fastlane和flutter的Github工作流缓存路径
- c - 我需要反转用户在 C 中输入的 5 位数字。代码没有语法错误(没有错误曲线),但代码仍然无法运行