SQL Server CAST17 Mar 2025 | 4 分钟阅读 数据类型转换是一种用于将一种值的 数据类型更改为另一种类型的方法。SQL Server 可以通过两种方式转换值的 数据类型:隐式或显式。SQL Server 为其内部需求执行隐式转换。例如,以下查询将在 SQL Server 中隐式地将字符串数据类型转换为数字类型 这是输出 ![]() SQL Server 返回整数值,因为它会在使用不同数据类型的两个值时将较低的数据类型转换为较高的数据类型。此过程表明了数据类型的隐式转换。 与隐式转换相反,我们通过数据转换函数由数据库管理员或程序员执行显式转换。本文将主要关注如何在 SQL Server 中使用 CAST 函数。 CAST 函数使用户能够显式地将表达式中指定的值从一种数据类型转换为另一种数据类型。以下语法说明了 SQL Server 中的 CAST 函数 在语法中,我们使用了以下参数
返回值CAST 函数将返回要转换为的数据类型的值。 SQL Server CAST 函数示例让我们通过各种示例来了解 CAST 函数在 SQL Server 中的工作原理。我们可以直接在 SELECT 语句中使用 CAST 函数。 1. CAST 函数将 Decimal 转换为 Integer 以下示例将使用 CAST() 函数将十进制数 10.95 转换为整数 CAST 函数返回以下输出 ![]() 2. CAST 函数将 Decimal 转换为具有不同长度的另一个 Decimal 此示例将使用 CAST 函数将十进制数转换为具有零小数位数的另一个十进制数 CAST 函数返回以下输出 ![]() 当我们在不同位置转换数据类型值时,SQL Server 会根据以下规则给出截断或舍入的结果
3. CAST 函数将 String 转换为 DATETIME 此示例将使用 CAST 函数将字符串'2021-04-26'转换为DATETIME值。 CAST 函数返回以下输出 ![]() 4. CAST 函数将 DATETIME 转换为 Varchar 此示例将使用 CAST 函数将当前日期和时间转换为字符串。 CAST 函数返回以下输出 ![]() 5. 带有 NULL 值的 CAST 函数 此示例将展示 NULL 值如何与 CAST 函数一起使用。 这是输出 ![]() 6. 表上的 CAST 函数 在这里,我们将看到如何在表上使用 CAST 函数来过滤记录。假设我们有一个名为“orders”的表,其中包含以下数据 ![]() 在此表中,我们可以看到 prchase_date 列包含购买日期的项目。如果我们想获取所选日期范围内的项目列表,可以使用以下语句。在这里,文字字符串在评估 WHERE 条件之前被转换为时间戳值。 此语句返回以下结果 ![]() TRY_CAST 函数它是 SQL Server 中 CAST 函数的高级形式。它有助于数据转换过程,以防止在查询执行期间发生数据转换错误。假设我们要将字符串数据类型转换为整数。使用 CAST 函数可能会收到错误消息。当我们从各种数据源进行数据分析时,我们可能会在源数据中遇到此类值。在这种情况下,我们需要使用 TRY_CAST 函数来处理这些错误。CAST 和 TRY_CAST 函数的语法没有区别。如果我们在数据转换产生错误时使用 TRY_CAST 函数,我们将获得NULL结果。 让我们看看如果我们尝试使用 CAST 函数将字符串值转换为整数数据类型会发生什么 此语句将不执行,SQL Server 将引发以下错误消息: ![]() 然而,如果我们使用TRY_CAST 函数,我们不会收到任何错误,并且会在结果中看到NULL值。请看以下查询 当我们执行此查询时,SQL Server 会返回 NULL 值而不是引发错误 ![]() 下一个主题SQL Server CONVERT |
我们请求您订阅我们的新闻通讯以获取最新更新。