SQL CAST函数
SQL CAST函数主要用于将表达式从一种数据类型转换为另一种数据类型。如果SQL Server CAST函数无法将声明转换为所需的数据类型,则该函数返回一个错误。 我们使用CAST函数将数值数据转换为字符或字符串数据。
语法:
CAST (expression AS [data type])
这里,[data type]是关系数据库管理系统中的一种有效数据类型。
语法如下:
CAST (EXPRESSION AS Data_Type[(Length)]
_ _ CAST in the SQL example
SELECT CAST (123 AS VARCHAR (20)) [result_name]
FROM [Source]
- EXPRESSION :这是一个有效的表达式,我们希望将数据类型转换为SQL。
- Data_Type :这是我们希望将表达式转换为的数据类型。
- Length :这是一个可选参数,具有整数类型。我们可以使用此设置来定义任何目标数据类型的长度。
默认情况下,长度为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 |
示例 1:
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)有许多处理小数位数的规则。
根据上述示例,小数点后面的数字被截断。
示例2:
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)类型。当我们进行转换时,我们只保留前3个字符。如果超过三个字符,则忽略第三个字符后的所有内容。