Конвертирует выражение одного типа данных в другой.
CAST(eExpression AS cDataType [(nFieldWidth [, nPrecision])] |
Параметры
- eExpression
- Определяет выражение данных, обычно в инструкции SQL, которое Вы хотите преобразовать в другой тип данных. eExpression может быть полем, вычисляемым полем, или другим типом выражения.
- cDataType
- Определяет допустимое имя или символ, обозначающие выбранное имя типа данных. cDataType может также быть выражением, которое вычисляется в допустимое имя типа данных или символ, обозначающие допустимый тип данных.
Обратите внимание:
Если Вы определяете выражение для cDataType , Вы должны включить выражение, для которого Вы определяете cDataType в круглые скобки. cDataType Тип данных nFieldWidth nPrecision W, Blob
Blob
No
No
C, Char, Character
Character
Yes
No
Y, Currency
Currency
No
No
D, Date
Date
No
No
T, DateTime
DateTime
No
No
B, Double
Double
No
Yes
F, Float
Floating
Yes
Yes
G, General
General
No
No
I, Int, Integer
Integer
No
No
L, Logical
Logical
No
No
M, Memo
Memo
No
No
N, Num, Numeric
Numeric
Yes
Yes
Q, Varbinary
Varbinary
Yes
No
V, Varchar
Varchar
Yes
No
- nFieldWidth
- Определяет ширину поля для некоторых типов данных. Visual FoxPro игнорирует nFieldWidth для следующих типов данных: D, T, I, Y, L, М., Г, и W. Если nFieldWidth не определена, используются значения по умолчанию, например, как определено командой CREATE TABLE .
- nPrecision
- Определяет количество десятичных знаков для некоторых типов данных. Visual FoxPro игнорирует nPrecision для следующих типов данных: C, D, T, I, Y, L, М., Г, V, Q, и W. Если nPrecision не включен для типов данных Numeric или Float , значением по умолчанию является 0, что означает отсутствие десятичных знаков. Если nPrecision не включен для типа Double, nPrecision задается по умолчанию в количество десятичных знаков, установленной командой SET DECIMALS . Если nPrecision не определен для других типов данных, используются значения по умолчанию, например, как определено командой CREATE TABLE .
- NULL | NOT NULL
- Определяет, разрешать ли пустые (null) значения в поле.
Обратите внимание:
Если одно или более полей могут содержать null значения, максимальное количество полей, которое таблица может содержать, уменьшается с 255 до 254.
Замечания
Следующая таблица показывает преобразования, которые поддерживаются функцией CAST( ) . По вертикальной оси перечисляются типы данных источника, а по горизонтальной конвертированный тип данных. Следующие символы указывают уровень поддерживаемого преобразования:
- F - полное преобразование без потери данных
- P - частичное преобразование с возможной потерей данных
- N - не поддерживается
Тип | C | D | T | N | F | Я | B | Y | L | М. | Г | V | Q | W |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C |
F |
P |
P |
P |
P |
P |
P |
P |
P |
F |
N |
F |
F |
F |
D |
F |
F |
F |
N |
N |
N |
N |
N |
N |
F |
N |
F |
N |
N |
T |
F |
P |
F |
N |
N |
N |
N |
N |
N |
F |
N |
F |
N |
N |
N |
F |
N |
N |
F |
F |
P |
F |
P |
P |
F |
N |
F |
N |
N |
F |
F |
N |
N |
F |
F |
P |
F |
P |
P |
F |
N |
F |
N |
N |
Я |
F |
N |
N |
F |
F |
F |
F |
F |
P |
F |
N |
F |
N |
N |
B |
P |
N |
N |
P |
P |
P |
F |
P |
P |
F |
N |
P |
N |
N |
Y |
F |
N |
N |
P |
P |
P |
F |
F |
P |
F |
N |
F |
N |
N |
L |
F |
N |
N |
F |
F |
F |
F |
F |
F |
F |
N |
F |
N |
N |
М. |
P |
P |
P |
P |
P |
P |
P |
P |
P |
F |
N |
P |
P |
F |
Г |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
F |
N |
N |
F |
V |
P |
P |
P |
P |
P |
P |
P |
P |
P |
F |
N |
F |
P |
P |
Q |
P |
N |
N |
N |
N |
N |
N |
N |
N |
F |
N |
P |
F |
F |
W |
P |
N |
N |
N |
N |
N |
N |
N |
N |
F |
F |
P |
P |
F |
Если Вы определяете десятичную точность, то преобразования между числовыми типами данных, например, Numeric , Float , Currency , и Double в тип данных Integer может привести к потере точности.
Для преобразований в следующие типы данных: Character , Varchar , и Varbinary , если указанный размер поля меньше чем первоначальный размер данных, Visual FoxPro усекает значения, чтобы соответствовать указанной ширине поля. Для преобразований в тип данных Character , если указанный размер больше чем первоначальный размер данных, Visual FoxPro дополняет поле пробелами справа от значения.
Пример
Следующий пример использует команаду SQL SELECT , чтобы вернуть данные из поля Product_ID таблицы "Товары" из тестовой базы данных Visual FoxPro TestData.dbc. Пример использует функцию CAST () , чтобы конвертировать результаты выборки, полученной выражением unit_Cost * in_Stock, которые имеют тип Currency , в значение с типом Numeric, размером поля 8 и десятичной точностью 2.
![]() | |
---|---|
CLEAR ALL |
См. Также
Другие Ресурсы
ФункцииТипы Данные и Полей
Как: Выбрать Типы данных
Функции Преобразования Данных
Управление преобразованием типов данных