diff --git a/dialect_common.go b/dialect_common.go index 8f7021a8..bec3c06a 100644 --- a/dialect_common.go +++ b/dialect_common.go @@ -124,12 +124,12 @@ func (s commonDialect) CurrentDatabase() (name string) { func (commonDialect) LimitAndOffsetSQL(limit, offset interface{}) (sql string) { if limit != nil { - if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit > 0 { + if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit >= 0 { sql += fmt.Sprintf(" LIMIT %d", parsedLimit) } } if offset != nil { - if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset > 0 { + if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset >= 0 { sql += fmt.Sprintf(" OFFSET %d", parsedOffset) } } diff --git a/dialects/mssql/mssql.go b/dialects/mssql/mssql.go index c5995762..084c0de6 100644 --- a/dialects/mssql/mssql.go +++ b/dialects/mssql/mssql.go @@ -145,12 +145,12 @@ func (s mssql) CurrentDatabase() (name string) { func (mssql) LimitAndOffsetSQL(limit, offset interface{}) (sql string) { if offset != nil { - if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset > 0 { + if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset >= 0 { sql += fmt.Sprintf(" OFFSET %d ROWS", parsedOffset) } } if limit != nil { - if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit > 0 { + if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit >= 0 { if sql == "" { // add default zero offset sql += " OFFSET 0 ROWS"