首页 > 解决方案 > 将 nvarchar 值转换为数据类型整数

问题描述

我刚开始学习 SQL 课程,但出现以下错误:

将 nvarchar 值 'ewew' 转换为数据类型 int 时转换失败。

我有一张包含球员姓名、地址和邮政编码的表格。

我想要做的是从以下获取篮球运动员列表PostalCode,即 75045。

这就是我编写查询的方式:

SELECT *
FROM [dbo].[BasketballPlayers]
WHERE [PostalCode] = 75045

有人可以解释可能发生了什么吗?

标签: sql

解决方案


您正在将字符串[PostalCode]与数字进行比较,75045因此它会尝试将两个值转换为相同的类型,在本例中为数字类型 int。不幸的是,“ewew”无法转换为数字。

您需要做的是将两者都作为字符串进行比较:

SELECT*

FROM [dbo].[BasketballPlayers]

WHERE [PostalCode] = '75045'

这允许您将两者作为字符串进行比较。


推荐阅读