2010-03-17 16 views
5
Select Null as Empty from (select * from TblMetaData) 

risposta

1

Spesso utilizzato in questa espressione

select * from TableA where exists 
(select null from TableB where TableB.Col1=TableA.Col1) 
5

Si produrrà un set di risultati con una colonna di nome Empty che contiene solo NULL valori. Il numero di righe sarà uguale al numero di righe disponibili in TblMetaData.

10

Sembra che stia cercando di ottenere righe null per lo stesso numero di righe in tblMetaData.

EDIT: Questo potrebbe essere scritto come
SELECT Null AS Empty FROM tblMetaData

3

Sembra il risultato di una delle due situazioni possibili:

  1. Lo sviluppatore è stato sempre pagato per linea, e la gettò in quella query. Probabilmente è stato originariamente strutturato per prendere più di una riga.
  2. Lo sviluppatore era incompetente e questo era l'unico modo in cui potevano pensare di generare un gruppo di valori nulli.
3

La query restituisce un valore null da ogni riga della tabella, quindi l'unica informazione reale nel risultato è il numero di record nella tabella.

Questo può ovviamente essere scoperto molto di più modo efficiente utilizzando:

select count(*) as Count from TblMetaData 

E 'possibile che lo sviluppatore non era affatto a conoscenza del count aggregata (o modalità di ricerca del web) e ha cercato di ottenere il numero di record rendendo il risultato il più piccolo possibile.

1

può essere utilizzato per fornire il numero di righe nella tabella TblMetaData con il nome della colonna che indica la prima lettera di vuoto (in questo caso solo). come si supponga di dato

Selezionare Null come vuoto da (select * from TblMetaData)

in modo che vi darà E

n righe selezionate qui n è il numero di righe della tabella.

supponiamo che hai dato

Selezionare Null come XYZ da (select * from TblMetaData) allora sarebbe lo stesso ma il nome della colonna cambierebbe come X

n righe selezionate

Problemi correlati