あなたはMSSQLを使用している場合は、このために最適ですBETWEEN演算子必要があります:あなたは、スクリプトを使用して、この使用して変数を簡素化することができますすることが可能な環境での作業の贅沢を持っている場合
SELECT EmployeeID, DriverLicenseExpiryDate AS ExpiryDate, 'Driver License' AS LicenseType
FROM YourTable
WHERE DriverLicenseExpiryDate BETWEEN GETDATE() AND GETDATE() + 30
UNION SELECT EmployeeID, AutoInsuranceExpiryDate AS ExpiryDate, 'Auto Insurance' AS LicenseType
FROM YourTable
WHERE AutoInsuranceExpiryDate BETWEEN GETDATE() AND GETDATE() + 30
UNION SELECT EmployeeID, TWICCardExpiryDate AS ExpiryDate, 'TWIC Card' AS LicenseType
FROM YourTable
WHERE TWICCardExpiryDate BETWEEN GETDATE() AND GETDATE() + 30
を:
DECLARE @startDate AS DATE = GETDATE();
DECLARE @endDate AS DATE = GETDATE() + 10;
SELECT EmployeeID, DriverLicenseExpiryDate AS ExpiryDate, 'Driver License' AS LicenseType
FROM YourTable
WHERE DriverLicenseExpiryDate BETWEEN @startDate AND @endDate
UNION SELECT EmployeeID, AutoInsuranceExpiryDate AS ExpiryDate, 'Auto Insurance' AS LicenseType
FROM YourTable
WHERE AutoInsuranceExpiryDate BETWEEN @startDate AND @endDate
UNION SELECT EmployeeID, TWICCardExpiryDate AS ExpiryDate, 'TWIC Card' AS LicenseType
FROM YourTable
WHERE TWICCardExpiryDate BETWEEN @startDate AND @endDate;
'select * from table where expirydate <= now()+ 30'のようにDBMSの正しい構文に置き換えてください –
これは従業員を1回選択しませんか? –
これは、期限切れの日付が今の+ 30日未満のすべての従業員を選択します。 –