למה לא להשתמש בפונקצייה ISNULL (מקביל לNZ באקסס) ואז, אם הערך הוא NULL - אתה מעביר ומחפש 0, ואם הערך 37 אתה מחזיר לפי 37.
declare @null int = ISNULL(null,0); select * from Documents d where ISNULL(d.ContactID,0) = @nullובעצם גם בפנייה שלך לפונקצייה אתה "מעביר" את הערך דרך ISNULL:
fn(ISNULL(d.ContactID,0))עריכה:
אם זה מפתח זר,ואתה רוצה לברוח מאפשרות של 0 (במידה ולפעמים אתה שם 0 כשאין כלום, ואתה רוצה לדעת אם זה NULL או 0 במסד פיזית), אתה יכול להעביר לISNULL ערך אחר במקום 0.
פורסם במקור בפורום CODE613 ב12/03/2014 12:14 (+02:00)