试图从交接工作中理解 sysdate 函数的代码
Trying to understand the code on sysdate function from handover work
没问题只是一个问题
这不是问题,只是想了解一下前雇主的交接工作。
SELECT *
FROM MISS.M42V_PERSONNEL_SERVICE_RECORDS X
WHERE X.EQUITY_STATUS IN ('P', 'T', 'O')
AND (X.START_DATE < TRUNC(LAST_DAY(SYSDATE)+1))
AND (X.EXPIRE_DATE IS NULL
OR X.EXPIRE_DATE > SYSDATE)
TRUNC(LAST_DAY(SYSDATE)+1))
试图了解 sysdate 之后的 +1 打算做什么。尝试将此代码从 oracle 转换为 SQL 服务器管理工作室。 SQL Server Management Studio 不理解语法。
让我们一点一点地理解它:
select SYSDATE FROM DUAL; -- TODAY
-- 22-08-2019 01:06:10
SELECT LAST_DAY(SYSDATE) FROM DUAL; -- LAST DAY OF THE MONTH
-- 31-08-2019 01:06:25
SELECT LAST_DAY(SYSDATE)+1 FROM DUAL; -- +1 ADDS ONE DAY TO THE DATE
-- FIRST DAY OF THE NEXT MONTH
-- 01-09-2019 01:06:39
SELECT TRUNC(LAST_DAY(SYSDATE)+1) FROM DUAL; -- TRUNC IS USED TO REMOVE TIME PORTION
-- 01-09-2019 12:00:00
干杯!!
它将给出下个月的第一天。
从今天开始,如果您 运行 下面的查询。
select (Last_Day(Sysdate)+1) 来自 dual;
结果:
2019 年 9 月 1 日
没问题只是一个问题
这不是问题,只是想了解一下前雇主的交接工作。
SELECT *
FROM MISS.M42V_PERSONNEL_SERVICE_RECORDS X
WHERE X.EQUITY_STATUS IN ('P', 'T', 'O')
AND (X.START_DATE < TRUNC(LAST_DAY(SYSDATE)+1))
AND (X.EXPIRE_DATE IS NULL
OR X.EXPIRE_DATE > SYSDATE)
TRUNC(LAST_DAY(SYSDATE)+1))
试图了解 sysdate 之后的 +1 打算做什么。尝试将此代码从 oracle 转换为 SQL 服务器管理工作室。 SQL Server Management Studio 不理解语法。
让我们一点一点地理解它:
select SYSDATE FROM DUAL; -- TODAY
-- 22-08-2019 01:06:10
SELECT LAST_DAY(SYSDATE) FROM DUAL; -- LAST DAY OF THE MONTH
-- 31-08-2019 01:06:25
SELECT LAST_DAY(SYSDATE)+1 FROM DUAL; -- +1 ADDS ONE DAY TO THE DATE
-- FIRST DAY OF THE NEXT MONTH
-- 01-09-2019 01:06:39
SELECT TRUNC(LAST_DAY(SYSDATE)+1) FROM DUAL; -- TRUNC IS USED TO REMOVE TIME PORTION
-- 01-09-2019 12:00:00
干杯!!
它将给出下个月的第一天。 从今天开始,如果您 运行 下面的查询。
select (Last_Day(Sysdate)+1) 来自 dual;
结果: 2019 年 9 月 1 日