Represents MySQL LIMIT clause. Represents MySQL LIMIT clause.
The following example shows how the LIMIT clause may be parsed in a
MySqlSelectStatement.
static void ParseLimit(string sql) {
MySqlSelectStatement stmt = MySqlSelectStatement.Parse(sql, ParserBehavior.All);
if (stmt.Limit != null)
if (stmt.Limit.Offset != null)
Console.WriteLine("Offset: {0}, Count: {1}", stmt.Limit.Offset.ToString(), stmt.Limit.Count.ToString());
else
Console.WriteLine("Count: {0}", stmt.Limit.Count.ToString());
else
Console.WriteLine("No limit found");
}
....
ParseLimit("select * from dept limit 3"); // Count: 3
ParseLimit("select * from dept limit 2, 3"); // Offset: 2, Count: 3
ParseLimit("select * from dept limit 3 offset 2"); // Offset: 2, Count: 3
ParseLimit("select * from dept limit :pCount"); // Count: :pCount
ParseLimit("select * from dept limit :pOffset, :pCount"); // Offset: :pOffset, Count: :pCount
ParseLimit("select * from dept limit :pCount offset :pOffset"); // Offset: :pOffset, Count: :pCount
ParseLimit("select * from dept limit @pCount"); // Count: @pCount
ParseLimit("select * from dept limit @pOffset, @pCount"); // Offset: @pOffset, Count: @pCount
ParseLimit("select * from dept limit @pCount offset @pOffset"); // Offset: @pOffset, Count: @pCount
ParseLimit("select * from dept limit ?"); // Count: ?
ParseLimit("select * from dept limit ?, ?"); // Offset: ?, Count: ?
ParseLimit("select * from dept limit ? offset ?"); // Offset: ?, Count: ?
Private Shared Sub ParseLimit(ByVal sql As String)
Dim stmt As MySqlSelectStatement = MySqlSelectStatement.Parse(sql, 63)
If (Not stmt.Limit Is Nothing) Then
If (Not stmt.Limit.Offset Is Nothing) Then
Console.WriteLine("Offset: {0}, Count: {1}", stmt.Limit.Offset.ToString, stmt.Limit.Count.ToString)
Else
Console.WriteLine("Count: {0}", stmt.Limit.Count.ToString)
End If
Else
Console.WriteLine("No limit found")
End If
End Sub
...................
Module1.ParseLimit("select * from dept limit 3")
Module1.ParseLimit("select * from dept limit 2, 3")
Module1.ParseLimit("select * from dept limit 3 offset 2")
Module1.ParseLimit("select * from dept limit :pCount")
Module1.ParseLimit("select * from dept limit :pOffset, :pCount")
Module1.ParseLimit("select * from dept limit :pCount offset :pOffset")
Module1.ParseLimit("select * from dept limit @pCount")
Module1.ParseLimit("select * from dept limit @pOffset, @pCount")
Module1.ParseLimit("select * from dept limit @pCount offset @pOffset")
Module1.ParseLimit("select * from dept limit ?")
Module1.ParseLimit("select * from dept limit ?, ?")
Module1.ParseLimit("select * from dept limit ? offset ?")
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2