Ho letto tutte le risposte qui e ci è voluto un po 'per capire cosa stava succedendo. Quanto segue si basa sulla risposta di Moe Sisko e su alcune ricerche correlate
Se la query SQL non restituisce alcun dato, non c'è un campo con un valore nullo, quindi né ISNULL né COALESCE funzioneranno come desiderato. Utilizzando una query secondaria, la query di livello superiore ottiene un campo con un valore nullo e ISNULL e COALESCE funzioneranno come desiderato/previsto.
La mia domanda
select isnull(
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'
La mia domanda con commenti
select isnull(
--sub query either returns a value or returns nothing (no value)
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
--If there is a value it is displayed
--If no value, it is perceived as a field with a null value,
--so the isnull function can give the desired results
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'
fonte
2015-03-26 19:22:10
Attualmente, questo è quello che faccio. Controlla quale è il numero di record vuoto o no. Pensavo che potessero essere un modo per scorciare il mio assegno. – Matt