Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOCS-549: Updated info about keywords case-sensivity. #9626

Merged
9 changes: 8 additions & 1 deletion docs/en/query_language/syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,14 @@ Comments in C-style: from `/*` to `*/`. These comments can be multiline. Spaces

## Keywords {#syntax-keywords}

Keywords (such as `SELECT`) are not case-sensitive. Everything else (column names, functions, and so on), in contrast to standard SQL, is case-sensitive.
Keywords are case-insensitive when they correspond to:

- SQL standard. For example, `SELECT`, `select` and `SeLeCt` are all valid.
- Implementation in some popular DBMS (MySQL or Postgres). For example, `DateTime` is same as `datetime`.

Whether data type name is case-sensitive can be checked in the `system.data_type_families` table.

In contrast to standard SQL all other keywords (including functions names) are **case-sensitive**.

Keywords are not reserved (they are just parsed as keywords in the corresponding context). If you use [identifiers](#syntax-identifiers) the same as the keywords, enclose them into quotes. For example, the query `SELECT "FROM" FROM table_name` is valid if the table `table_name` has column with the name `"FROM"`.

Expand Down
1 change: 1 addition & 0 deletions docs/fa/data_types/datetime64.md
1 change: 1 addition & 0 deletions docs/ja/data_types/datetime64.md
9 changes: 8 additions & 1 deletion docs/ru/query_language/syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,14 @@ INSERT INTO t VALUES (1, 'Hello, world'), (2, 'abc'), (3, 'def')

## Ключевые слова {#syntax-keywords}

Ключевые слова (например, `SELECT`) регистронезависимы. Всё остальное (имена столбцов, функций и т. п.), в отличие от стандарта SQL, регистрозависимо.
Ключевые слова не зависят от регистра, если они соответствуют:

- Стандарту SQL. Например, применение любого из вариантов `SELECT`, `select` или `SeLeCt` не вызовет ошибки.
- Реализации в некоторых популярных DBMS (MySQL или Postgres). Например, `DateTime` и `datetime`.

Зависимость от регистра для имён типов данных можно проверить в таблице `system.data_type_families`.

В отличие от стандарта SQL, все остальные ключевые слова, включая названия функций зависят от регистра.

Ключевые слова не зарезервированы (а всего лишь парсятся как ключевые слова в соответствующем контексте). Если вы используете [идентификаторы](#syntax-identifiers), совпадающие с ключевыми словами, заключите их в кавычки. Например, запрос `SELECT "FROM" FROM table_name` валиден, если таблица `table_name` имеет столбец с именем `"FROM"`.

Expand Down
1 change: 1 addition & 0 deletions docs/toc_en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ nav:
- 'UUID': 'data_types/uuid.md'
- 'Date': 'data_types/date.md'
- 'DateTime': 'data_types/datetime.md'
- 'DateTime64': 'data_types/datetime64.md'
- 'Enum': 'data_types/enum.md'
- 'Array(T)': 'data_types/array.md'
- 'AggregateFunction(name, types_of_arguments...)': 'data_types/nested_data_structures/aggregatefunction.md'
Expand Down
1 change: 1 addition & 0 deletions docs/toc_fa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ nav:
- 'UUID': 'data_types/uuid.md'
- 'Date': 'data_types/date.md'
- 'DateTime': 'data_types/datetime.md'
- 'DateTime64': 'data_types/datetime64.md'
- 'Enum': 'data_types/enum.md'
- 'Array(T)': 'data_types/array.md'
- 'AggregateFunction(name, types_of_arguments...)': 'data_types/nested_data_structures/aggregatefunction.md'
Expand Down
1 change: 1 addition & 0 deletions docs/toc_ja.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ nav:
- 'UUID': 'data_types/uuid.md'
- 'Date': 'data_types/date.md'
- 'DateTime': 'data_types/datetime.md'
- 'DateTime64': 'data_types/datetime64.md'
- 'Enum': 'data_types/enum.md'
- 'Array(T)': 'data_types/array.md'
- 'AggregateFunction(name, types_of_arguments...)': 'data_types/nested_data_structures/aggregatefunction.md'
Expand Down
1 change: 1 addition & 0 deletions docs/toc_ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ nav:
- 'UUID': 'data_types/uuid.md'
- 'Date': 'data_types/date.md'
- 'DateTime': 'data_types/datetime.md'
- 'DateTime64': 'data_types/datetime64.md'
- 'Enum': 'data_types/enum.md'
- 'Array(T)': 'data_types/array.md'
- 'AggregateFunction(name, types_of_arguments...)': 'data_types/nested_data_structures/aggregatefunction.md'
Expand Down
1 change: 1 addition & 0 deletions docs/toc_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ nav:
- 'FixedString(N)': 'data_types/fixedstring.md'
- 'UUID': 'data_types/uuid.md'
- 'Date': 'data_types/date.md'
- 'DateTime64': 'data_types/datetime64.md'
- 'DateTime': 'data_types/datetime.md'
- 'Enum': 'data_types/enum.md'
- 'Array(T)': 'data_types/array.md'
Expand Down
1 change: 1 addition & 0 deletions docs/zh/data_types/datetime64.md