import { MssqlSqlifier } from './sqlifier'; import { Binary, XExpression, Condition, DbType, Expression, Numeric, Scalar, Star, ScalarFromDbType, VirtualTranslator, Field, Sort } from 'lubejs/core'; export declare class MssqlVirtualTranslator implements VirtualTranslator { private readonly sqlifier; constructor(sqlifier: MssqlSqlifier); currentDatabase(): Expression; defaultSchema(): Expression; rownum(orders: Sort[], partitions?: Field): Expression; abs(value: XExpression): Expression; exp(value: XExpression): Expression; ceil(value: XExpression): Expression; floor(value: XExpression): Expression; ln(value: XExpression): Expression; log(value: XExpression): Expression; pi(): Expression; power(a: XExpression, b: XExpression): Expression; radians(value: XExpression): Expression; degrees(value: XExpression): Expression; random(): Expression; round(value: XExpression, s: XExpression): Expression; sign(value: XExpression): Expression; sqrt(value: XExpression): Expression; cos(value: XExpression): Expression; sin(value: XExpression): Expression; tan(value: XExpression): Expression; acos(value: XExpression): Expression; asin(value: XExpression): Expression; atan(value: XExpression): Expression; atan2(value: XExpression): Expression; cot(value: XExpression): Expression; nvl(value: XExpression, defaultValue: XExpression): Expression; count(expr: Star | XExpression): Expression; avg(expr: XExpression): Expression; sum(expr: XExpression): Expression; max>(expr: Expression): Expression; min>(expr: Expression): Expression; /** * 获取标识列的最近插入值 * @param table * @param column * @returns */ identityValue(table: XExpression, column: XExpression): Expression; /** * 转换数据类型 * @param expr * @param toType * @returns */ convert(expr: XExpression, toType: T): Expression>; /** * 获取当前日期及时间 * @returns */ now(): Expression; /** * 获取当前UTC时间 * @returns */ utcNow(): Expression; /** * 切换时区 */ switchTimezone(date: XExpression, timeZone: XExpression): Expression; /** * 格式化日期函数 * @param date * @param format * @returns */ formatDate(date: XExpression, fmt: string): Expression; /** * 获取日期中的年份 * @param date * @returns */ yearOf(date: XExpression): Expression; /** * 获取日期中的月份 * @param date * @returns */ monthOf(date: XExpression): Expression; /** * 获取日期中的日 * @param date * @returns */ dayOf(date: XExpression): Expression; /** * 计算两个日期之间的天数,小数 * @param start * @param end * @returns */ daysBetween(start: XExpression, end: XExpression): Expression; /** * 计算两个日期之间的天数,小数 * @param start * @param end * @returns */ monthsBetween(start: XExpression, end: XExpression): Expression; /** * 计算两个日期之间的天数,小数 * @param start * @param end * @returns */ yearsBetween(start: XExpression, end: XExpression): Expression; /** * 计算两个日期之间的天数,小数 * @param start * @param end * @returns */ hoursBetween(start: XExpression, end: XExpression): Expression; /** * 计算两个日期之间的天数,小数 * @param start * @param end * @returns */ minutesBetween(start: XExpression, end: XExpression): Expression; /** * 计算两个日期之间的天数,小数 * @param start * @param end * @returns */ secondsBetween(start: XExpression, end: XExpression): Expression; addDays(date: XExpression, days: XExpression): Expression; addMonths(date: XExpression, months: XExpression): Expression; addYears(date: XExpression, years: XExpression): Expression; addHours(date: XExpression, hours: XExpression): Expression; addMinutes(date: XExpression, minutes: XExpression): Expression; /** * * @param date * @param seconds * @returns */ addSeconds(date: XExpression, seconds: XExpression): Expression; /** * 获取字符串长度 * @param str * @returns */ strlen(str: XExpression): Expression; /** * 截取字符串 * @param str * @param start * @param length * @returns */ substr(str: XExpression, start: XExpression, length: XExpression): Expression; /** * 替换字符串 * @param str 需要被替换的字符串 * @param search 查找字符串 * @param to 替换成字符串 * @param global 是否全局替换,默认为false * @returns */ replace(str: XExpression, search: XExpression, to: XExpression): Expression; /** * 删除字符串两侧空格 * @param str * @returns */ trim(str: XExpression): Expression; /** * 删除字符串右侧空格 * @param str * @returns */ trimEnd(str: XExpression): Expression; /** * 转换成大写字母 * @param str * @returns */ upper(str: XExpression): Expression; /** * 转换成小写字母 * @param str * @returns */ lower(str: XExpression): Expression; /** * 查找一个 * @param str * @param search * @returns */ strpos(str: XExpression, search: XExpression, startAt?: XExpression): Expression; /** * 获取一个字符的ascii码 * @param str 字符编码 * @returns */ ascii(str: XExpression): Expression; asciiChar(code: XExpression): Expression; unicode(str: XExpression): Expression; unicodeChar(code: XExpression): Expression; existsTable(name: XExpression): Condition; existsDatabase(database: string): Condition; existsView(name: XExpression): Condition; existsFunction(name: XExpression): Condition; existsProcedure(name: XExpression): Condition; existsSequence(name: XExpression): Condition; nextValue(sequenceName: XExpression): Expression; }