English | 简体中文

api-docs / me.liuwj.ktorm.schema / Column

Column

data class Column<T : Any> : ColumnDeclaring<T> (source code)

Represents database columns.

Constructors

NameSummary

<init>

Column(
    table: BaseTable<*>,
    name: String,
    binding: ColumnBinding? = null,
    extraBindings: List<ColumnBinding> = emptyList(),
    sqlType: SqlType<T>)

Represents database columns.

Properties

NameSummary

allBindings

val allBindings: List<ColumnBinding>

Return all the bindings of this column, including the primary binding and extraBindings.

binding

val binding: ColumnBinding?

The column’s primary binding. A column might be bound to a simple property, nested properties,
or a reference to another table, null if the column doesn’t bind to any property.

extraBindings

val extraBindings: List<ColumnBinding>

The column’s extra bindings. Useful when we need to configure two or more bindings for a column.

label

val label: String

The column’s label, used to identify the selected columns and to obtain query results.

name

val name: String

The column’s name.

referenceTable

val referenceTable: BaseTable<*>?

If the column is bound to a reference table, return the table, otherwise return null.

sqlType

val sqlType: SqlType<T>

The SqlType of this column or expression.

table

val table: BaseTable<*>

The table that this column belongs to.

Functions

NameSummary

aliased

fun aliased(label: String?): ColumnDeclaringExpression<T>

Wrap this column as a ColumnDeclaringExpression.

asExpression

fun asExpression(): ColumnExpression<T>

Convert this column to a ColumnExpression.

equals

fun equals(other: Any?): Boolean

Indicates whether some other object is “equal to” this column.
Two columns are equal only if they are the same instance.

hashCode

fun hashCode(): Int

Return a hash code value for this column.

toString

fun toString(): String

Return a string representation of this column.

wrapArgument

fun wrapArgument(argument: T?): ArgumentExpression<T>

Wrap the given argument as an ArgumentExpression using the sqlType.

Extension Functions

NameSummary

and


infix fun ColumnDeclaring<Boolean>.and(
    argument: Boolean
): BinaryExpression<Boolean>

And operator, translated to the and keyword in SQL.

asc

Order this column or expression in ascending order.

cast

fun <T : Any> ColumnDeclaring<*>.cast(
    sqlType: SqlType<T>
): CastingExpression<T>

Cast the current column or expression to the given SqlType.

desc

Order this column or expression in descending order, corresponding to the desc keyword in SQL.

div

infix operator fun <T : Number> ColumnDeclaring<T>.div(
    expr: ColumnDeclaring<T>
): BinaryExpression<T>

infix operator fun <T : Number> ColumnDeclaring<T>.div(
    argument: T
): BinaryExpression<T>

Divide operator, translated to / in SQL.

eq

infix fun <T : Any> ColumnDeclaring<T>.eq(
    expr: ColumnDeclaring<T>
): BinaryExpression<Boolean>

infix fun <T : Any> ColumnDeclaring<T>.eq(
    argument: T
): BinaryExpression<Boolean>

Equal operator, translated to = in SQL.

ifNull

fun <T : Any> ColumnDeclaring<T>.ifNull(
    right: ColumnDeclaring<T>
): FunctionExpression<T>

fun <T : Any> ColumnDeclaring<T>.ifNull(
    right: T?
): FunctionExpression<T>

MySQL ifnull function, translated to ifnull(left, right).

ilike

infix fun ColumnDeclaring<*>.ilike(
    expr: ColumnDeclaring<String>
): ILikeExpression

infix fun ColumnDeclaring<*>.ilike(
    argument: String
): ILikeExpression

ILike operator, translated to the ilike keyword in PostgreSQL.

inList

fun <T : Any> ColumnDeclaring<T>.inList(
    vararg list: T
): InListExpression<T>

infix fun <T : Any> ColumnDeclaring<T>.inList(
    list: Collection<T>
): InListExpression<T>

infix fun <T : Any> ColumnDeclaring<T>.inList(
    query: Query
): InListExpression<T>

In-list operator, translated to the in keyword in SQL.

isNotNull

Check if the current column or expression is not null, translated to is not null in SQL.

isNull

Check if the current column or expression is null, translated to is null in SQL.

jsonContains

fun <T : Any> Column<List<T>>.jsonContains(
    item: T,
    itemSqlType: SqlType<T>
): FunctionExpression<Boolean>

infix fun Column<List<Int>>.jsonContains(
    item: Int
): FunctionExpression<Boolean>

infix fun Column<List<Long>>.jsonContains(
    item: Long
): FunctionExpression<Boolean>

infix fun Column<List<Double>>.jsonContains(
    item: Double
): FunctionExpression<Boolean>

infix fun Column<List<Float>>.jsonContains(
    item: Float
): FunctionExpression<Boolean>

infix fun Column<List<String>>.jsonContains(
    item: String
): FunctionExpression<Boolean>

MySQL json_contains function, translated to json_contains(column, json_array(item)).

jsonExtract

fun <T : Any> Column<*>.jsonExtract(
    path: String,
    sqlType: SqlType<T>
): FunctionExpression<T>

MySQL json_extract function, translated to json_extract(column, path).

like

infix fun ColumnDeclaring<*>.like(
    expr: ColumnDeclaring<String>
): BinaryExpression<Boolean>

infix fun ColumnDeclaring<*>.like(
    argument: String
): BinaryExpression<Boolean>

Like operator, translated to the like keyword in SQL.

minus

infix operator fun <T : Number> ColumnDeclaring<T>.minus(
    expr: ColumnDeclaring<T>
): BinaryExpression<T>

infix operator fun <T : Number> ColumnDeclaring<T>.minus(
    argument: T
): BinaryExpression<T>

Minus operator, translated to - in SQL.

not

Negative operator, translated to the not keyword in SQL.

notEq

infix fun <T : Any> ColumnDeclaring<T>.notEq(
    expr: ColumnDeclaring<T>
): BinaryExpression<Boolean>

infix fun <T : Any> ColumnDeclaring<T>.notEq(
    argument: T
): BinaryExpression<Boolean>

Not-equal operator, translated to <> in SQL.

notInList

fun <T : Any> ColumnDeclaring<T>.notInList(
    vararg list: T
): InListExpression<T>

infix fun <T : Any> ColumnDeclaring<T>.notInList(
    list: Collection<T>
): InListExpression<T>

infix fun <T : Any> ColumnDeclaring<T>.notInList(
    query: Query
): InListExpression<T>

Not-in-list operator, translated to the not in keyword in SQL.

notLike

infix fun ColumnDeclaring<*>.notLike(
    expr: ColumnDeclaring<String>
): BinaryExpression<Boolean>

infix fun ColumnDeclaring<*>.notLike(
    argument: String
): BinaryExpression<Boolean>

Not like operator, translated to the not like keyword in SQL.

or


infix fun ColumnDeclaring<Boolean>.or(
    argument: Boolean
): BinaryExpression<Boolean>

Or operator, translated to the or keyword in SQL.

plus

infix operator fun <T : Number> ColumnDeclaring<T>.plus(
    expr: ColumnDeclaring<T>
): BinaryExpression<T>

infix operator fun <T : Number> ColumnDeclaring<T>.plus(
    argument: T
): BinaryExpression<T>

Plus operator, translated to + in SQL.

rem

infix operator fun <T : Number> ColumnDeclaring<T>.rem(
    expr: ColumnDeclaring<T>
): BinaryExpression<T>

infix operator fun <T : Number> ColumnDeclaring<T>.rem(
    argument: T
): BinaryExpression<T>

Mod operator, translated to % in SQL.

replace

fun ColumnDeclaring<String>.replace(
    oldValue: String,
    newValue: String
): FunctionExpression<String>

MySQL replace function, translated to replace(str, oldValue, newValue).

times

infix operator fun <T : Number> ColumnDeclaring<T>.times(
    expr: ColumnDeclaring<T>
): BinaryExpression<T>

infix operator fun <T : Number> ColumnDeclaring<T>.times(
    argument: T
): BinaryExpression<T>

Multiply operator, translated to * in SQL.

toDouble

Cast the current column or expression’s type to Double.

toFloat

Cast the current column or expression’s type to Float.

toInt

Cast the current column or expression’s type to Int.

toLong

Cast the current column or expression’s type to Long.

unaryMinus

operator fun <T : Number> ColumnDeclaring<T>.unaryMinus(): UnaryExpression<T>

Unary minus operator, translated to - in SQL.

unaryPlus

operator fun <T : Number> ColumnDeclaring<T>.unaryPlus(): UnaryExpression<T>

Unary plus operator, translated to + in SQL.

xor


infix fun ColumnDeclaring<Boolean>.xor(
    argument: Boolean
): BinaryExpression<Boolean>

Xor operator, translated to the xor keyword in SQL.