CAST ФУНКЦИЯ
Функция Oracle/PLSQL CAST конвертирует (преобразует) один тип данных в другой.
Синтаксис
Синтаксис функции Oracle/PLSQL CAST:
CAST ( < expr | ( subquery ) | MULTISET ( subquery ) >AS type_name )
Примечание
Допускаются следующие преобразования:
| Откуда | Куда | |||||
|---|---|---|---|---|---|---|
| char, varchar2 |
number | datetime / interval |
raw | rowid, urowid |
nchar, nvarchar2 |
|
| char, varchar2 | X | X | X | X | X | |
| number | X | X | ||||
| datetime / interval | X | X | ||||
| Raw | X | X | ||||
| rowid, urowid | X | X | ||||
| nchar, nvarchar2 | X | X | X | X | X | |
Примечание
- Функция CAST возвращает новый тип данных, в который вы преобразовали.
- Если полученное значение больше целевого типа, возвращается ошибка.
Применение
Функцию CAST можно использовать в следующих версиях Oracle/PLSQL:
- Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i
Пример
Рассмотрим несколько примеров функции CAST и изучим, как использовать функцию CAST в Oracle/PLSQL.
SQL Server функция CAST
В SQL Server (Transact-SQL) функция CAST преобразует выражение из одного типа данных в другой тип данных.
Синтаксис
Синтаксис функции CAST в SQL Server (Transact-SQL):
CAST( expression AS type [ (length) ] )
Параметры или аргументы
expression — значение для преобразования в другой тип данных.
type — тип данных, к которому вы хотите преобразовать выражение. Это может быть одно из следующих: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, или image.
length — необязательный. Длина результирующего типа данных для char, varchar, nchar, nvarchar, binary и varbinary.
Примечание
- При преобразовании из float или numeric в integer, функция CAST усекает результат. Для других преобразований функция CAST будет округлять результат.
- См. Также функцию CONVERT.
Применение
Функция CAST может использоваться в следующих версиях SQL Server (Transact-SQL):
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005
Пример
Рассмотрим некоторые примеры SQL Server функции CAST, чтобы понять, как использовать функцию CAST в SQL Server (Transact-SQL). Например:
SQL Server CAST() Function
The CAST() function converts a value (of any type) into a specified datatype.
Tip: Also look at the CONVERT() function.
Syntax
CAST(expression AS datatype(length))
Parameter Values
| Value | Description |
|---|---|
| expression | Required. The value to convert |
| datatype | Required. The datatype to convert expression to. Can be one of the following: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, or image |
| (length) | Optional. The length of the resulting data type (for char, varchar, nchar, nvarchar, binary and varbinary) |
Technical Details
| Works in: | SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse |
|---|
More Examples
Example
Convert a value to a varchar datatype:
SELECT CAST(25.65 AS varchar);
Example
Convert a value to a datetime datatype:
SELECT CAST(‘2017-08-25’ AS datetime);
COLOR PICKER


Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
Что такое cast в sql
Продвинутый SQL
Когда мы выполняем операции со значениями с разными типами данных, СУБД пытается выполнить преобразование и привести используемые значения к нужному типу. Например, в примере ниже мы сравниваем значения с типами STRING и INT . Чтобы выполнить это сравнение MySQL автоматически сконвертирует строковое значение в числовое.
MySQLSELECT '50' > 49, '50' > 51;
'50' > 49 '50' > 51 1 0 Но не все преобразования СУБД может сделать автоматически, и тогда необходимо делать явное преобразование типов. Для этого в MySQL есть две очень схожие функции CAST и CONVERT .
MySQLCAST(значение AS тип_для_конвертации); CONVERT(значение, тип_для_конвертации);MySQLSELECT CAST(12005.6 AS DECIMAL), CONVERT(12005.4, DECIMAL);
CAST(12005.6 AS DECIMAL) CONVERT(12005.4, DECIMAL) 12006 12005 Предыдущая запись
