func (d Driver) LimitOffset(sql qb.SQL, limit, offset int) {
	if offset > 0 {
		sql.WriteLine(`OFFSET ` + strconv.Itoa(offset) + ` ROWS`)
		if limit > 0 {
			sql.WriteLine(`FETCH NEXT ` + strconv.Itoa(limit) + ` ROWS ONLY`)
		}
		return
	}
	if limit > 0 {
		s := sql.String()
		sql.Rewrite(`SELECT TOP ` + strconv.Itoa(limit) + s[6:])
	}
}
LimitOffset implements qb.Driver
package msqb  
import (
	"database/sql"
	"strconv"
	"strings"
	"git.ultraware.nl/NiseVoid/qb"
	"git.ultraware.nl/NiseVoid/qb/driver/msqb/msqf"
	"git.ultraware.nl/NiseVoid/qb/qbdb"
	"git.ultraware.nl/NiseVoid/qb/qf"
)
type Driver struct{}
func New(db *sql.DB) qbdb.DB {
	return qbdb.New(Driver{}, db)
}
func (d Driver) ValueString(i int) string {
	return `@p` + strconv.Itoa(i)
}
func (d Driver) BoolString(v bool) string {
	if v {
		return `1`
	}
	return `0`
}
func (d Driver) EscapeCharacter() string {
	return `"`
}
func (d Driver) UpsertSQL(t *qb.Table, _ []qb.Field, q qb.Query) (string, []interface{}) {
	panic(`mssql does not support upsert`)
}
func (d Driver) IgnoreConflictSQL(_ *qb.Table, _ []qb.Field) (string, []interface{}) {
	panic(`mssql does not support ignore conflicts`)
}