sql中charindex和cast结合使用

1.CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。

语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )

返回的值是:返回字符串中指定表达式(expression1 )的起始位置。
那些什么定义啊,什么的我就不讲了,直接用列子来讲,这样大家理解的比较透彻点。
set_user表中userId,而userId存的是一个集合,每个userId是以“,”间隔,类似于这样“1,2,3”。现在我要查询userId为21的用户,我们可以这样写
select * from set_user where (CHARINDEX(','+CAST('" + userId + "' AS NVARCHAR(10))+',', ','+CAST(userID AS NVARCHAR(10))+',') >0 )
上面这段SQL语句中有个CAST函数

将某种数据类型的表达式显式转换为另一种数据类型。
语法:
CAST ( expression AS data_type )
CAST(ytd_sales AS char(20))
原文地址:https://www.cnblogs.com/jlcoder/p/3444889.html