Class SQLServerDialect
java.lang.Object
org.huiche.dialect.BaseDialect
org.huiche.dialect.SQLServerDialect
- All Implemented Interfaces:
Dialect
Sql Server 方言实现
分页使用 OFFSET ... ROWS FETCH NEXT ... ROWS ONLY,且必须带 ORDER BY;
首页(只有 limit)时会补齐 OFFSET 0 ROWS。
-
Field Summary
Fields inherited from class BaseDialect
keywords, quoteString -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected String转义单段标识符,不同数据库转义方式不同时可覆写此方法boolean分页是否要求语句必须带ORDER BYboolean是否支持ORDER BY的NULLS FIRST/LAST语法获取模板,可重写translatePaging(Integer limit, Integer offset) 转译分页Methods inherited from class BaseDialect
quote, quoteIdentifier, translate, translate, translateCustomMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Dialect
processTemplateParams, setJsonValue, supportsSetOperandParenthesis, typeForSetNull, useNational
-
Constructor Details
-
SQLServerDialect
public SQLServerDialect()默认构造 -
SQLServerDialect
-
-
Method Details
-
requiresOrderByForPaging
public boolean requiresOrderByForPaging()Description copied from interface:Dialect分页是否要求语句必须带ORDER BYSQL Server 的
OFFSET ... FETCH必须配合ORDER BY,否则语句无法执行。- Returns:
- 是否要求ORDER BY
-
supportsNullsOrdering
public boolean supportsNullsOrdering()Description copied from interface:Dialect是否支持ORDER BY的NULLS FIRST/LAST语法MySQL、MariaDB、SQL Server不支持该语法,但它们都把NULL视为最小值, 因此可以改写为
CASE WHEN ... IS NULL实现等价排序。- Returns:
- 是否支持
-
translatePaging
Description copied from interface:Dialect转译分页- Specified by:
translatePagingin interfaceDialect- Overrides:
translatePagingin classBaseDialect- Parameters:
limit- 限制条数offset- 跳过条数- Returns:
- 分页语法
-
quotePart
Description copied from class:BaseDialect转义单段标识符,不同数据库转义方式不同时可覆写此方法- Overrides:
quotePartin classBaseDialect- Parameters:
part- 标识符片段- Returns:
- 转义后标识符片段
-
template
-