SQL Server 2008: DateDiff Возвращение значения отрицания - PullRequest
0 голосов
/ 02 февраля 2011

В продолжение моей серии модулей Coldfusion и Student Certificates у меня возникла небольшая проблема.

Когда я возвращаю значения для Coldfusion, используя запрос ниже, я получаю отрицательные и положительные даты.

Что мне нужно сделать, это вернуть даты, которые больше или равны сегодняшнему дню, поэтому, если cprAdultExp - 2/27/2011, мне нужно вернуть это значение как 25, а если kidExp - 1/2/ 2011 Мне нужно, чтобы ничего не возвращалось.

Есть мысли?

SQL:

SELECT
p.firstName,
p.lastName,
m.profileID,
dateDiff(day,getDate(),m.cprAdultExp) as adultExp,
dateDiff(day,getDate(),m.cprInfantChildExp) as kidExp,
dateDiff(day,getDate(),m.cprFPRExp) as frpExp,
dateDiff(day,getDate(),m.aedExp) as aExp,
dateDiff(day,getDate(),m.firstAidExp) as aidExp,
dateDiff(day,getDate(),m.emtExp) as eExp,
dateDiff(day,getDate(),m.waterSafetyInstructionExp) as waterExpt,
dateDiff(day,getDate(),m.bloodPathogensExp) as bloodExp,
dateDiff(day,getDate(),m.oxygenAdminExp) as oxyExp,
dateDiff(day,getDate(),m.lifegaurdingExp) as lifeExp,
dateDiff(day,getDate(),m.wildernessResponderExp) as  wildExp,
m.certNotes
FROM 
pro_Profile p
LEFT JOIN mod_StudentCertifications m
ON
    m.profileID = p.profileID
WHERE
p.isDeleted='False'        

1 Ответ

3 голосов
/ 02 февраля 2011

Что-то вроде:

CASE WHEN m.cprAdultExp > getDate() THEN dateDiff(day,getDate(),m.cprAdultExp) ELSE NULL END as adultExp

Это верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...