Рядки

LENGTH

Рахує, скільки символів у рядку.

Синтаксис

LENGTH(<текст>)
CHAR_LENGTH(<текст>)

Повертає кількість символів разом із пробілами. CHAR_LENGTH робить те саме й записана в стандарті SQL. Часто — щоб перевірити довжину: закороткий пароль, задовга назва.

Дані для прикладів

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

Ці таблиці вже створено в пісочниці — приклади нижче працюють із ними. Хочеш повторити у своїй базі — скопіюй SQL.

Довжина рядка
SELECT LENGTH('PostgreSQL') AS letters,
LENGTH('SQL rocks') AS with_space;
letterswith_space
109
Довжина кожного імені
SELECT name, LENGTH(name) AS name_length
FROM employees;
namename_length
Emma4
Liam4
Olivia6
Noah4
Sophia6
Лише імена, довші за 4 літери
SELECT name
FROM employees
WHERE LENGTH(name) > 4;
name
Olivia
Sophia

Зверни увагу

Рахує символи, а не байти: LENGTH('привіт') дає 6, хоча в пам'яті це 12 байтів. Байти рахує OCTET_LENGTH.

Для NULL результат теж NULL, а не 0. Нуль дає лише порожній рядок ''.

У типі char(n) пробіли в кінці не рахуються: LENGTH('ab '::char(4)) дає 2, а для text — 4.

Схожі функції

OCTET_LENGTHTRIMSUBSTRING

Детально в курсі