sql - 将 nvarchar 值转换为数据类型整数
问题描述
我刚开始学习 SQL 课程,但出现以下错误:
将 nvarchar 值 'ewew' 转换为数据类型 int 时转换失败。
我有一张包含球员姓名、地址和邮政编码的表格。
我想要做的是从以下获取篮球运动员列表PostalCode
,即 75045。
这就是我编写查询的方式:
SELECT *
FROM [dbo].[BasketballPlayers]
WHERE [PostalCode] = 75045
有人可以解释可能发生了什么吗?
解决方案
您正在将字符串[PostalCode]
与数字进行比较,75045
因此它会尝试将两个值转换为相同的类型,在本例中为数字类型 int。不幸的是,“ewew”无法转换为数字。
您需要做的是将两者都作为字符串进行比较:
SELECT*
FROM [dbo].[BasketballPlayers]
WHERE [PostalCode] = '75045'
这允许您将两者作为字符串进行比较。
推荐阅读
- c - 如何就地修改项目(不复制/传递缓冲区)
- python - 在水平条形图上显示数字
- android - 在哪里获得字体请求的证书?
- javascript - 数组排序适用于单个数字,但不适用于多个数字值
- r - 如何计算两阶段加权最小二乘估计的权重以解决异方差?
- cmake - 使用 ccmake 配置安装构建时如何指定最新 cmake 版本的完整路径
- javascript - HTML/Javascript 作业
- javascript - 如何将变量从客户端代码发送到服务器端代码
- php - /customer/section/load/?sections=cart 404 错误请求 magento 2
- sql - 索引可以用于聚合计算吗?