已解决 :oracle获取最近2学年的数据

SELECT
*
FROM
(SELECT * FROM xx.JWXT_XSKB
WHERE
AND xn IN (‘2023-2024’,‘2022-2023’));

问题

某某系统课表数据过大,要求只获取最近2学年的数据,不能写死。

思路

mysql 在子查询的WHERE子句中,首先使用

SUBSTRING_INDEX(xn, '-', 1)

但在 Oracle 数据库中,没有

SUBSTRING_INDEX

函数。而是使用

SUBSTR

解决

  • xn的年份大于等于(最近一年的年份 – 1)