在 SQL Server 中使用函数处理数据
Ana Voicu
Data Engineer
CAST() 和 CONVERT() 实现CAST() 与 CONVERT() 用于在数据类型间转换CAST(expression AS data_type [(length)])
SELECT
CAST(3.14 AS int) AS DECIMAL_TO_INT,
CAST('3.14' AS decimal(3,2)) AS STRING_TO_DECIMAL,
CAST(GETDATE() AS nvarchar(20)) AS DATE_TO_STRING,
CAST(GETDATE() AS float) AS DATE_TO_FLOAT;
| DECIMAL_TO_INT | STRING_TO_DECIMAL | DATE_TO_STRING | DATE_TO_FLOAT |
|----------------|-------------------|--------------------|------------------|
| 3 | 3.14 | Apr 11 2019 1:01PM | 43531.7052687886 |
CONVERT(data_type [(length)], expression [,style])
SELECT
CONVERT(int, 3.14) AS DECIMAL_TO_INT,
CONVERT(decimal(3,2), '3.14') AS STRING_TO_DECIMAL,
CONVERT(nvarchar(20), GETDATE(), 104) AS DATE_TO_STRING,
CONVERT(float, GETDATE()) AS DATE_TO_FLOAT;
| DECIMAL_TO_INT | STRING_TO_DECIMAL | DATE_TO_STRING | DATE_TO_FLOAT |
|----------------|-------------------|----------------|------------------|
| 3 | 3.14 | 11.04.2019 | 43531.7052687886 |
CAST() 遵循 SQL 标准;CONVERT() 为 SQL Server 专用CAST() 在大多数数据库中可用CONVERT() 略快在 SQL Server 中使用函数处理数据