# QBTextColumn

## Overview

The `QBTextColumn` class represents a text column in a `QBSelect` query.

For more information about constructing and executing queries and columns, refer to the [QBSelect](https://docs.servoy.com/reference/servoycore/dev-api/database-manager/qbcolumn) section of this documentation.

## **Extends**

[QBColumn](/reference/servoycore/dev-api/database-manager/qbcolumn.md)

## Properties Summarized

| Type                                                                                               | Name                       | Summary                               |
| -------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------- |
| [QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md)               | [bit\_length](#bit_length) | Create bit\_length(column) expression |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)                       | [isNull](#isnull)          | Compare column with null.             |
| [QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md)               | [len](#len)                | Create length(column) expression      |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)                     | [lower](#lower)            | Create lower(column) expression       |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)                     | [max](#max)                | Create an aggregate max expression.   |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)                     | [min](#min)                | Create an aggregate min expression.   |
| [QBTextColumnComparable](/reference/servoycore/dev-api/database-manager/qbtextcolumncomparable.md) | [not](#not)                | Create a negated condition.           |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)                     | [trim](#trim)              | Create trim(column) expression        |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)                     | [upper](#upper)            | Create upper(column) expression       |

## Methods Summarized

| Type                                                                                 | Name                                              | Summary                                                 |
| ------------------------------------------------------------------------------------ | ------------------------------------------------- | ------------------------------------------------------- |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [between(value1, value2)](#between-value1-value2) | Compare column to a range of 2 values or other columns. |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)       | [coalesce(value)](#coalesce-value)                | Create coalesce(arg) expression                         |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [eq(value)](#eq-value)                            | Compare column with a value or another column.          |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [ge(value)](#ge-value)                            | Compare column with a value or another column.          |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [gt(value)](#gt-value)                            | Compare column with a value or another column.          |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [isin(query)](#isin-query)                        | Compare column with subquery result.                    |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [isin(values)](#isin-values)                      | Compare column with values.                             |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [isin(customQuery, args)](#isin-customquery-args) | Compare column with custom query result.                |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [le(value)](#le-value)                            | Compare column with a value or another column.          |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [like(pattern)](#like-pattern)                    | Compare column with a value or another column.          |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [like(pattern, escape)](#like-pattern-escape)     | Compare column with a value or another column.          |
| [QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md) | [locate(arg)](#locate-arg)                        | Create locate(arg) expression                           |
| [QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md) | [locate(arg, start)](#locate-arg-start)           | Create locate(arg, start) expression                    |
| [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md)         | [lt(value)](#lt-value)                            | Compare column with a value or another column.          |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)       | [nullif(arg)](#nullif-arg)                        | Create nullif(arg) expression                           |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)       | [substring(pos)](#substring-pos)                  | Create substring(pos) expression                        |
| [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)       | [substring(pos, len)](#substring-pos-len)         | Create substring(pos, len) expression                   |

## Properties Detailed

### bit\_length

Create bit\_length(column) expression

**Type**\
[QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md)

**Sample**

```js
query.result.add(query.columns.custname.bit_length)
```

### isNull

Compare column with null.

**Type**\
[QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "is null" comparison.

**Sample**

```js
query.where.add(query.columns.flag.isNull)
```

### len

Create length(column) expression

**Type**\
[QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md)

**Sample**

```js
query.result.add(query.columns.custname.len)
```

### lower

Create lower(column) expression

**Type**\
[QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)

**Sample**

```js
query.result.add(query.columns.custname.lower)
```

### max

Create an aggregate max expression.

**Type**\
[QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md) a QBColumn representing the sum aggregate function.

**Sample**

```js
var query = datasources.db.example_data.orders.createSelect();
	query.groupBy.addPk() // have to group by on pk when using having-conditions in (foundset) pk queries
	.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.max(10))
	foundset.loadRecords(query)
```

### min

Create an aggregate min expression.

**Type**\
[QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md) a QBColumn representing the minimum aggregate function.

**Sample**

```js
var query = datasources.db.example_data.orders.createSelect();
	query.groupBy.addPk() // have to group by on pk when using having-conditions in (foundset) pk queries
	.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.min(10))
	foundset.loadRecords(query)
```

### not

Create a negated condition.

**Type**\
[QBTextColumnComparable](/reference/servoycore/dev-api/database-manager/qbtextcolumncomparable.md) a QBColumn representing the negated condition.

**Sample**

```js
query.where.add(query.columns.flag.not.eq(1))
```

### trim

Create trim(column) expression

**Type**\
[QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)

**Sample**

```js
query.result.add(query.columns.custname.trim)
```

### upper

Create upper(column) expression

**Type**\
[QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md)

**Sample**

```js
query.result.add(query.columns.custname.upper)
```

## Methods Detailed

### between(value1, value2)

Compare column to a range of 2 values or other columns.

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value1** ;
* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value2** ;

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "between" comparison for the two values.

**Sample**

```js
query.where.add(query.columns.flag.between(0, 5))
```

### coalesce(value)

Create coalesce(arg) expression

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value** when column is null

**Returns:** [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md) a QBColumn representing the coalesce expression.

**Sample**

```js
query.result.add(query.columns.mycol.coalesce('defval'))
```

### eq(value)

Compare column with a value or another column.\
Operator: equals

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value** ;

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "equals" comparison.

**Sample**

```js
query.where.add(query.columns.flag.eq(1))
```

### ge(value)

Compare column with a value or another column.\
Operator: greaterThanOrEqual

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value** ;

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "greater than or equal to" comparison.

**Sample**

```js
query.where.add(query.columns.flag.ge(2))
```

### gt(value)

Compare column with a value or another column.\
Operator: greaterThan

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value** ;

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "greater than" comparison.

**Sample**

```js
query.where.add(query.columns.flag.gt(0))
```

### isin(query)

Compare column with subquery result.

**Parameters**

* [QBPart](/reference/servoycore/dev-api/database-manager/qbpart.md) **query** subquery

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "in" comparison with a subquery.

**Sample**

```js
query.where.add(query.columns.flag.isin(query2))
```

### isin(values)

Compare column with values.

**Parameters**

* [Array](/reference/servoycore/dev-api/js-lib/array.md) **values** array of values

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "in" comparison with a list of values.

**Sample**

```js
query.where.add(query.columns.flag.isin([1, 5, 99]))
```

### isin(customQuery, args)

Compare column with custom query result.

**Parameters**

* [String](/reference/servoycore/dev-api/js-lib/string.md) **customQuery** custom query
* [Array](/reference/servoycore/dev-api/js-lib/array.md) **args** query arguments

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "in" comparison with a custom query and arguments.

**Sample**

```js
query.where.add(query.columns.ccy.isin("select ccycode from currencies c where c.category = " + query.getTableAlias() + ".currency_category and c.flag = ?", ['T']))
```

### le(value)

Compare column with a value or another column.\
Operator: lessThanOrEqual

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value** ;

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "less than or equal to" comparison.

**Sample**

```js
query.where.add(query.columns.flag.le(2))
```

### like(pattern)

Compare column with a value or another column.\
Operator: like

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **pattern** the string value of the pattern

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) the QBCondition that can be added to a where clause

**Sample**

```js
query.where.add(query.columns.companyname.like('Serv%'))

// case-insensitive compares can be done using the upper (or lower) functions,
// this can be useful when using for example German letters like ß,
query.where.add(query.columns.companyname.upper.like(query.functions.upper('groß%')))
```

### like(pattern, escape)

Compare column with a value or another column.\
Operator: like, with escape character

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **pattern** the string value of the pattern
* [Number](/reference/servoycore/dev-api/js-lib/number.md) **escape** the escape char

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) the QBCondition that can be added to a where clause

**Sample**

```js
query.where.add(query.columns.companyname.like('X_%', '_')
```

### locate(arg)

Create locate(arg) expression

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **arg** string to locate

**Returns:** [QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md) the QBIntegerColumn that can be added to the result.

**Sample**

```js
query.result.add(query.columns.mycol.locate('sample'))
```

### locate(arg, start)

Create locate(arg, start) expression

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **arg** string to locate
* [Number](/reference/servoycore/dev-api/js-lib/number.md) **start** start pos

**Returns:** [QBIntegerColumn](/reference/servoycore/dev-api/database-manager/qbintegercolumn.md) the QBIntegerColumn that can be added to the result.

**Sample**

```js
query.result.add(query.columns.mycol.locate('sample', 5))
```

### lt(value)

Compare column with a value or another column.\
Operator: lessThan

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **value** ;

**Returns:** [QBCondition](/reference/servoycore/dev-api/database-manager/qbcondition.md) a QBCondition representing the "less than" comparison.

**Sample**

```js
query.where.add(query.columns.flag.lt(99))
```

### nullif(arg)

Create nullif(arg) expression

**Parameters**

* [Object](/reference/servoycore/dev-api/js-lib/object.md) **arg** object to compare

**Returns:** [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md) a QBColumn representing the nullif expression.

**Sample**

```js
query.result.add(query.columns.mycol.nullif('none'))
```

### substring(pos)

Create substring(pos) expression

**Parameters**

* [Number](/reference/servoycore/dev-api/js-lib/number.md) **pos** ;

**Returns:** [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md) the QBTextColumn that can be added to the result.

**Sample**

```js
query.result.add(query.columns.mycol.substring(3))
```

### substring(pos, len)

Create substring(pos, len) expression

**Parameters**

* [Number](/reference/servoycore/dev-api/js-lib/number.md) **pos** ;
* [Number](/reference/servoycore/dev-api/js-lib/number.md) **len** ;

**Returns:** [QBTextColumn](/reference/servoycore/dev-api/database-manager/qbtextcolumn.md) the QBTextColumn that can be added to the result.

**Sample**

```js
query.result.add(query.columns.mycol.substring(3, 2))
```

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.servoy.com/reference/servoycore/dev-api/database-manager/qbtextcolumn.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
