Типы
Функция | Описание |
|---|---|
Преобразует значение в другой тип данных. | |
Преобразует значение в другой тип данных и возвращает NULL, если преобразование не удалось. |
CAST
Преобразует значение в другой тип данных.
Обратите внимание, что также поддерживается более компактный синтаксис PostgreSQL <expr>::type.
Пример:
df = pl.DataFrame(
{
"foo": [20, 10, 30],
"bar": ["1999-12-31", "2012-07-05", "2024-01-01"],
}
)
df.sql("""
SELECT
foo::float4,
bar::date
FROM self
""")
# shape: (3, 2)
# ┌──────┬────────────┐
# │ foo ┆ bar │
# │ --- ┆ --- │
# │ f32 ┆ date │
# ╞══════╪════════════╡
# │ 20.0 ┆ 1999-12-31 │
# │ 10.0 ┆ 2012-07-05 │
# │ 30.0 ┆ 2024-01-01 │
# └──────┴────────────┘
TRY_CAST
Преобразует значение в другой тип данных и возвращает NULL, если преобразование не удалось.
Пример:
df = pl.DataFrame(
{
"foo": [65432, 10101, -33333],
"bar": ["1999-12-31", "N/A", "2024-01-01"],
}
)
df.sql("""
SELECT
TRY_CAST(foo AS uint2),
TRY_CAST(bar AS date)
FROM self
""")
# shape: (3, 2)
# ┌───────┬────────────┐
# │ foo ┆ bar │
# │ --- ┆ --- │
# │ u16 ┆ date │
# ╞═══════╪════════════╡
# │ 65432 ┆ 1999-12-31 │
# │ 10101 ┆ null │
# │ null ┆ 2024-01-01 │
# └───────┴────────────┘
Обратите внимание, что при использовании обычного CAST возникла бы следующая ошибка:
InvalidOperationError: conversion from `i64` to `u16` failed in column 'foo' for 1 out of 3 values: [-33333]
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/sql/functions/types.html