In this answer, c'è un trucco che permette di utilizzare la funzione di finestra ROW_NUMBER()
con una 'costante' nella clausola ORDER BY
:T-SQL dollaro nelle espressioni
SELECT ROW_NUMBER() OVER (ORDER BY $/0)
FROM master..spt_values
Dopo un po 'di ricerca in Google, posso trovare cosa significa segno di dollaro in questo contesto?
Ho provato ad eseguire una semplice query:
SELECT $;
e restituisce 0
.
Qualcuno potrebbe spiegarlo?
mi aspetterei $/0 per gettare l'eccezione devide per 0 ma funziona. Non userei questo hack. –
@GiorgiNakeuri, sono rimasto sorpreso che funzioni anche questo e proprio perché ho iniziato a scavare in questo trucco. E non mi piace per la stessa ragione, ma per ora non conosco un'altra alternativa. –
L'alternativa è standard fittizio selezionare 'SELECT ROW_NUMBER() OVER (ORDER BY (SELEZIONA NULL))' –