首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带整数的CHARINDEX

带整数的CHARINDEX
EN

Stack Overflow用户
提问于 2016-06-02 17:38:36
回答 3查看 2.8K关注 0票数 0

嗨,我有一个很好的选择,我在varchar列上使用CHARINDEX,但是当我在整数列上尝试它时,我得到以下错误;

参数数据类型int对于charindex函数的参数1无效。

下面我列出了这两个问题。

是整数中的varchar intEmployeeID。

代码语言:javascript
复制
**below returns results as aspected**
SELECT  intEmployeeID
FROM [dbo].[tblEmployees]
WHERE CHARINDEX(',' + strEmail + ',', ',' +  REPLACE('test@gmail.com,  test2@gmail.com', ' ', '') + ',') > 0


**below I get an error if I'm trying to select on a integer column**
SELECT  intEmployeeID
FROM [dbo].[tblEmployees]
WHERE CHARINDEX(',' + intEmployeeID + ',', ',' +  REPLACE('1, 2', ' ', '') + ',') > 0

任何帮助都是最伟大的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-02 17:42:07

代码语言:javascript
复制
SELECT  intEmployeeID
FROM [dbo].[tblEmployees]
WHERE CHARINDEX(',' + cast(intEmployeeID as nvarchar(max)) + ',', ',' +  REPLACE('1, 2', ' ', '') + ',') > 0
票数 1
EN

Stack Overflow用户

发布于 2016-06-02 17:41:56

代码语言:javascript
复制
+ cast(intEmployeeID as varchar)+ 

将intEmployeeID铸造为varchar

票数 1
EN

Stack Overflow用户

发布于 2016-06-02 17:41:59

必须将整数显式转换为字符串,否则它会将+运算符编译为整数加法,而不是字符串连接:

代码语言:javascript
复制
CHARINDEX(',' + CONVERT(VARCHAR(10),intEmployeeID) + ',', ',' +  REPLACE('1, 2', ' ', '') + ',')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37598662

复制
相关文章

相似问题

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