嗨,我真的很感激一些帮助。我想在日期格式中将2个变量声明为date1 = 31-AUG-15
和date2 = 01-SEP-15
,并在SELECT
语句中使用它,因此我不需要在所有地方输入日期当我需要更改日期。这可能吗?
SELECT TABLE1.TRANSACTION_ID, TABLE1.AMOUNT, TABLE1.MATURITY, TABLE1.TYPE,
TABLE1.EFFECTIVE_DATE, TABLE1.SETTLEMENT_DATE, TABLE2.TRANSACTION_DATE
FROM TABLE1
LEFT JOIN TABLE2 ON TABLE1.TRANSACTION_ID = TABLE2.TRANSACTION_ID AND TABLE2.TRANSACTION_DATE = date2
WHERE TABLE1.MATURITY > date1
AND TABLE1.EFFECTIVE_DATE > date1
AND TABLE1.SETTLEMENT_DATE = date1
答案 0 :(得分:0)
您没有指定您正在使用的SQL类型(MSSQL,MySQL,Oracle SQL,...)。 我可以帮助您使用Microsoft SQL Server的代码段。
DECLARE @date1 DATETIME,
@date2 DATETIME
SET @date1 := '08-31-15'
SET @date2 := '09-01-15'
SELECT TABLE1.TRANSACTION_ID, TABLE1.AMOUNT, TABLE1.MATURITY,
TABLE1.TYPE, TABLE1.EFFECTIVE_DATE, TABLE1.SETTLEMENT_DATE, TABLE2.TRANSACTION_DATE
FROM TABLE1
LEFT JOIN TABLE2 ON TABLE1.TRANSACTION_ID = TABLE2.TRANSACTION_ID AND TABLE2.TRANSACTION_DATE = date2
WHERE TABLE1.MATURITY > date1
AND TABLE1.EFFECTIVE_DATE > date1
AND TABLE1.SETTLEMENT_DATE = date1
我希望这会有所帮助。 我使用了这个问题的答案:SQL How to correctly set a date variable value and use it? 作为参考。
答案 1 :(得分:0)
根据documentation for Oracle,您应该使用DECLARE
声明。
This answer将提供有关日期的更多详细信息:
DECLARE
date1 DATE := to_date('03/11/2011', 'dd/mm/yyyy');