nvarchar和int无法用来直接比较,需要其中一个做类型转换
解决方案 »
- 请教一SQL,忘不吝赐教
- 加班中遇到的简单问题
- sql执行顺序问题
- 急!sql的dateadd()如何控制时间
- 关于跨网段sqlserver连接的问题
- 请问,SQL Server2000的查询分析器中日期和时间函数里的 DATEDIFF 具体如何使用???(datepart是什么类型)
- SQL关于升序与降序在一些情况下无法得到相同的结果问题
- 多个多对多关系如何建模
- hqbj08
- 关于asp连接sql的疑问
- VBA代码中构造STRSQL查询字符串,如何配置供SQL WHERE 姓名 IN @姓名 子句所用的多人字符串参数?
- 求SQL Server 2012的日志查看工具,可能看到每一句的操作的工作
FROM userinfo U
WHERE EXISTS ( SELECT 1
FROM hr_Training_records H
WHERE CHARINDEX(chanyurenid, CONVERT(VARCHAR, U.id)) > 0 ) --转换一下
CREATE TABLE #temp
(
chanyurenid nvarchar(100)
)
INSERT INTO #temp VALUES ('122,195,196,193,215,216')SELECT T.c.value('.','int') AS chanyurenid
FROM (
SELECT CONVERT(XML,'<root><v>'+REPLACE(A.chanyurenid,',','</v><v>')+'</v></root>') AS id
FROM #temp AS A ) AS A
CROSS APPLY A.id.nodes('root/v') T(c)
怎么没看明白呢,查询出来也没有数据!写反了
SELECT *
FROM userinfo U
WHERE EXISTS ( SELECT 1
FROM hr_Training_records H
where charindex(','+convert(varchar,u.id)+',',','+chanyurenid+',')>0)
select *
from userinfo a
where exists
(select 1
from hr_Training_records b
where b.id=131 and charindex(','+rtrim(a.id)+',',','+b.chanyurenid+',',1)>0)