首页 .NET/Web sqlserver id in @ 不能将nvarchar转int

sqlserver id in @ 不能将nvarchar转int

作者:胡同里的砖头 围观群众:222 更新于:2024-02-20

示例值:"548,549,550,551,712,713"
SQL Server 2016 及更高版本

 Declare @ids nvarchar(200) = '123,456';

Select *
From Users
Where ID IN ( Select Value from STRING_SPLIT ( @ids , ',' ))
对于旧版本 SQL Server 2005 - 2014
 Declare @ids nvarchar(200) = '123,456'; --<-- Comma delimited list of Client Ids


Select *
From Users
Where ID IN (
SELECT CAST(RTRIM(LTRIM(Split.a.value('.', 'VARCHAR(100)'))) AS INT) IDs
FROM (
SELECT Cast ('<X>'
+ Replace(@ids, ',', '</X><X>')
+ '</X>' AS XML) AS Data
) AS t CROSS APPLY Data.nodes ('/X') AS Split(a)
)

  • 本文标题: sqlserver id in @ 不能将nvarchar转int
  • 文章分类:【.NET/Web】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8