Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La clause OFFSET-FETCH vous offre la possibilité d'extraire uniquement une fenêtre ou une page de résultats à partir du jeu de résultats. La clause OFFSET-FETCH ne peut être utilisée qu'avec la clause ORDER BY.
Syntaxe
[ORDER BY { order_by_expression [ ASC | DESC ] } [ ,...n][<offset_fetch>] ]
<offset_fetch> ::= {OFFSET { integer_constant | offset_row_count_expression } { ROW | ROWS } [FETCH { FIRST | NEXT } {integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY]}
Arguments
OFFSET { constante_entière | expression_nombre_lignes_décalage } { ROW | ROWS }
Indique le nombre de lignes à ignorer, avant de commencer à retourner des lignes depuis l'expression de requête. L'argument de la clause OFFSET peut être une expression ou un entier supérieur ou égal à zéro. Vous pouvez utiliser indifféremment ROW et ROWS.FETCH { FIRST|NEXT } <expression nombre_lignes> { ROW|ROWS } ONLY
Indique le nombre de lignes à retourner, après le traitement de la clause OFFSET. L'argument de la clause FETCH peut être une expression ou un entier supérieur ou égal à un. Vous pouvez utiliser indifféremment ROW et ROWS. De la même manière, FIRST et NEXT peuvent être utilisés indifféremment.
Limites relatives à l'utilisation d'OFFSET-FETCH
ORDER BY est obligatoire avec les clauses OFFSET et FETCH.
La clause OFFSET est obligatoire avec FETCH. Vous ne devez jamais utiliser ORDER BY …. FETCH.
TOP ne peut pas être combiné à OFFSET et FETCH dans la même expression de requête.
L'expression de nombre de lignes OFFSET/FETCH peut être une expression arithmétique, constante ou paramétrique qui retourne une valeur entière. L'expression de nombre de lignes ne prend pas en charge les sous-requêtes scalaires.
Exemple
Les exemples suivants illustrent l'utilisation de la clause OFFSET-FETCH avec ORDER BY.
Exemple 1 - Ignorez les 10 premières lignes du jeu de résultats trié et retournez les lignes restantes.
SELECT First Name + ' ' + Last Name FROM Employees ORDER BY First Name OFFSET 10 ROWS;
Exemple 2 - Ignorez les 10 premières lignes du jeu de résultats trié et retournez les 5 lignes suivantes.
SELECT First Name + ' ' + Last Name FROM Employees ORDER BY First Name OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;