首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将nvarchar值转换为数据类型整数

将nvarchar值转换为数据类型整数
EN

Stack Overflow用户
提问于 2019-10-03 15:32:40
回答 2查看 32关注 0票数 0

我刚开始为类学习SQL课程,我得到了以下错误:

将nvarchar值“ewew”转换为数据类型int时,

转换失败。

我有张桌子上有球员的名字,地址和邮政编码。

我想要做的是从下面的PostalCode ( 75045 )中获得一份篮球运动员的名单。

我是这样写我的查询的:

代码语言:javascript
运行
复制
SELECT *
FROM [dbo].[BasketballPlayers]
WHERE [PostalCode] = 75045

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-03 15:38:50

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

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

代码语言:javascript
运行
复制
SELECT*

FROM [dbo].[BasketballPlayers]

WHERE [PostalCode] = '75045'

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

票数 0
EN

Stack Overflow用户

发布于 2019-10-03 15:44:32

您还可以使用TRY_CAST,当尝试进行无效转换(字符串到int)时,它将返回有效的转换或NULL

代码语言:javascript
运行
复制
SELECT *
FROM [dbo].[BasketballPlayers]
WHERE TRY_CAST([PostalCode] as INT) = 75045

示例:

代码语言:javascript
运行
复制
TRY_CAST('ewew' as INT) = NULL
TRY_CAST('75045' as INT) = 75045
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58222466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档