import { TQueryValue, TSdOrmDataType } from "../../types"; import { QueryUnit } from "../queryable/QueryUnit"; import { DateOnly, DateTime, Time, Type, WrappedType } from "@simplysm/sd-core-common"; import { Queryable } from "../queryable/Queryable"; import { CaseWhenQueryHelper } from "../case/CaseWhenQueryHelper"; import { CaseQueryHelper } from "../case/CaseQueryHelper"; import { TDbContextOption } from "../../DbContext"; import { TEntityValue, TEntityValueOrQueryableOrArray } from "../queryable/types"; import { ISelectQueryDef, TDbDateSeparator, TQueryBuilderValue } from "./types"; export declare class QueryHelper { private readonly _dialect; constructor(_dialect: TDbContextOption["dialect"]); equal(source: TEntityValue, target: TEntityValue): TQueryBuilderValue; notEqual(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; isNull(source: TEntityValue): TQueryBuilderValue[]; isNotNull(source: TEntityValue): TQueryBuilderValue[]; isFalse(source: TEntityValue): TQueryBuilderValue[]; isTrue(source: TEntityValue): TQueryBuilderValue[]; lessThen(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; lessThenOrEqual(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; greaterThen(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; greaterThenOrEqual(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; between(source: TEntityValue, from: TEntityValue, to: TEntityValue): TQueryBuilderValue[]; includes(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; notIncludes(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; like(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; notLike(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; regexp(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; notRegexp(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; startsWith(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; notStartsWith(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; endsWith(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; notEndsWith(source: TEntityValue, target: TEntityValue): TQueryBuilderValue[]; in

(src: TEntityValue

, target: TEntityValue

[]): TQueryBuilderValue[]; notIn

(src: TEntityValue

, target: TEntityValue

[]): TQueryBuilderValue[]; and(args: TEntityValueOrQueryableOrArray[]): TQueryBuilderValue[]; or(args: TEntityValueOrQueryableOrArray[]): TQueryBuilderValue[]; query(type: Type>, texts: (string | QueryUnit)[]): QueryUnit; val(value: TEntityValue, type?: Type>>): QueryUnit; is(where: TQueryBuilderValue): QueryUnit; dateDiff(separator: TDbDateSeparator, from: TEntityValue, to: TEntityValue): QueryUnit; dateAdd(separator: TDbDateSeparator, from: TEntityValue, value: TEntityValue): QueryUnit; /** * * @param value * @param code https://learn.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver16 */ dateToString(value: TEntityValue, code: number): QueryUnit; year(value: TEntityValue): QueryUnit; month(value: TEntityValue): QueryUnit; day(value: TEntityValue): QueryUnit; isoWeek(value: TEntityValue): QueryUnit; isoWeekStartDate(value: TEntityValue): QueryUnit; isoYearMonth(value: TEntityValue): QueryUnit; ifNull(source: TEntityValue, ...targets: TEntityValue[]): QueryUnit; case(predicate: TEntityValue | TQueryBuilderValue, then: TEntityValue): CaseQueryHelper; caseWhen(arg: TEntityValue): CaseWhenQueryHelper; greatest(...args: TEntityValue[]): QueryUnit; /** * @deprecated * MSSQL 2022이하는 GREATEST 사용이 불가하여 만든 함수 */ greater(source: TEntityValue, target: TEntityValue): QueryUnit; dataLength(arg: TEntityValue): QueryUnit; stringLength(arg: TEntityValue): QueryUnit; cast(src: TEntityValue, targetType: Type>): QueryUnit; left(src: TEntityValue, num: TEntityValue): QueryUnit; padStart(src: TEntityValue, length: number, fillString: string): QueryUnit; right(src: TEntityValue, num: TEntityValue): QueryUnit; trim(src: TEntityValue): QueryUnit; replace(src: TEntityValue, from: TEntityValue, to: TEntityValue): QueryUnit; toUpperCase(src: TEntityValue): QueryUnit; toLowerCase(src: TEntityValue): QueryUnit; abs(src: TEntityValue): QueryUnit; concat(...args: TEntityValue[]): QueryUnit; rowIndex(orderBy: [TEntityValue, "asc" | "desc"][], groupBy?: TEntityValue[]): QueryUnit; count(arg?: TEntityValue): QueryUnit; sum(arg: TEntityValue): QueryUnit; avg(arg: TEntityValue): QueryUnit; round(arg: TEntityValue, len: number): QueryUnit; ceil(arg: TEntityValue): QueryUnit; floor(arg: TEntityValue): QueryUnit; max(unit: TEntityValue): QueryUnit; min(unit: TEntityValue): QueryUnit; exists(arg: TEntityValue): QueryUnit; notExists(arg: TEntityValue): QueryUnit; getQueryValue(value: TEntityValue): string; getQueryValue(value: Queryable): ISelectQueryDef; getBulkInsertQueryValue(value: TEntityValue): any; private _getBulkInsertQueryValueArray; private _getQueryValueArray; type(type: Type | TSdOrmDataType | string | undefined): string; mysqlConvertType(type: Type): string; }