📅  最后修改于: 2020-11-12 00:36:14             🧑  作者: Mango
SQL CAST函数主要用于将表达式从一种数据类型转换为另一种数据类型。如果SQL Server CAST函数无法将声明转换为所需的数据类型,则此函数返回错误。我们使用CAST函数将数字数据转换为字符或字符串数据。
CAST (expression AS [data type])
在此,[数据类型]是RDBMS中有效数据类型的一种。
语法为:
CAST (EXPRESSION AS Data_ Type[(Length)]
_ _ CAST in the SQL example
SELECT CAST (123 AS VARCHAR (20)) [result_name]
FROM [Source]
默认情况下为30。
在这里,我们将使用下表。
表格管理员_得分
Column Name | Date Type |
---|---|
Manager Id | Integer |
First _ Name | char( 20) |
Score | float |
该表包含以下行:
表管理器_得分
ManagerID | First_Name | Score |
---|---|---|
1 | Jame | 92.2 |
2 | Boby | 87.5 |
3 | Marry | 70 |
4 | Sanju | 120.2 |
SELECT First_Name, CAST (Score AS Integer)
Int_Score FROM Student_Score;
First_Name | Int_Score |
---|---|
Jame | 92 |
Boby | 87 |
Marry | 70 |
sanju | 120 |
在示例1中,我们使用CAST函数将SCORE列从FLOAT类型转换为INTEGER。当我们这样做时,各种RDBMS都有许多规则来处理数字到小数点。
根据上面的示例,小数点后的数字将被截断。
SELECT First_Name, CAST (Score AS char (3))
Char_Score FROM Student_Score;
结果:
First__Name | Char__Score |
---|---|
Jame | 85. |
Boby | 92. |
Marry | 90 |
sanju | 110 |
在示例2中,我们使用CAST函数将SCORE列从FLOAT类型转换为CHAR(3)。当我们这样做时,我们只保留前三个字符。如果有三个以上的字符,则将丢弃前三个字符之后的所有内容。