Функции преобразования типов
Функции для преобразования выражения одного типа данных в другой.
CAST
Синтаксис:
CAST(
expression
AS data_type) | Выражение для приведения типа. Если | |
| Целевой тип данных для приведения |
Описание: Преобразует результат данного выражения в указанный целевой тип данных. Если преобразование невозможно (например, из-за слишком узкого целевого типа или невозможности преобразования значения), запрос завершается ошибкой.
SELECT CAST('123' AS INT) AS int;
int
---------------
123 SELECT CAST(123 AS VARCHAR) AS string;
string
---------------
123 SELECT YEAR(CAST('2018-05-19T11:23:45Z' AS TIMESTAMP)) AS year;
year
---------------
2018 Поддерживаются как типы ANSI SQL, так и Elasticsearch SQL, причем приоритет отдаётся первым. Это касается только FLOAT, которое из-за конфликта имён интерпретируется как ANSI SQL и, следовательно, отображается в Elasticsearch как double, а не как float. Для получения Elasticsearch float, выполните преобразование к его SQL эквиваленту, типу real.
CONVERT
Синтаксис:
CONVERT(
expression,
data_type) | Выражение для преобразования. Если | |
| Целевой тип данных для преобразования |
Описание: Работает точно так же, как CAST с немного отличающимся синтаксисом. Кроме того, помимо стандартных типов данных, она поддерживает соответствующие типы данных ODBC.
SELECT CONVERT('123', SQL_INTEGER) AS int;
int
---------------
123 SELECT CONVERT('123', INTEGER) AS int;
int
---------------
123
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/sql-functions-type-conversion.html