Ciao a tutti.
Ho notato un comportamento molto strano nell'istruzione sql SELECT TOP.
Ho una tabella che contiene una quindicina di record con, tra gli altri, due campi data.

Ho estratto i dati con questa sql:

SELECT TOP 8 * FROM Contenuti WHERE lngTipo = 1 ORDER BY datRilievo DESC, datData DESC

Purtroppo però ho notato che mi vengono restituiti tutti i record e non solamente i primi 8!

Allora ho fatto qualche prova: con SELECT TOP 1 mi viene restituito solo un record! Con SELECT TOP 2 mi vengono restituiti solo due record! Con SELECT TOP 3 mi vengono restituiti tutti i record!

Allora ho guardato tutti i record della tabella e ho notato che tutti i record, tranne due, hanno valori uguali nei campi datRilievo e datData. Ho quindi modificato i valori di questi campi e solo a questo punto la SELECT TOP ha restituito il numero di record richiesto!

Alla luce di questi risultati, come si può definire il comportamento dell'istruzione SELECT TOP N?