sql-server - 如何在更新查询中使用 STRING_SPLIT()?
问题描述
我想更新一个表,它的一个字段是逗号分隔的值,我想更新那个表,我尝试了不同的代码但没有工作
UPDATE [PATS].[ReportSubscription]
SET [ScheduleID] = @ScheduleID
,[ReferenceID] = @ReferenceID
,[ReferenceType] = @ReferenceType
,[Schedule] = @Schedule
,[Day] = @Day
,[Time] = @Time
,[ProjectID] = @ProjectID
,[LastSentDate] = @LastSentDate
,[UserID] = @UserID
--,[CreatedBy] = @CreatedBy
--,[CreatedDate] = @CreatedDate
,[UpdatedBy] = @UpdatedBy
,[UpdatedDate] = @UpdatedDate
WHERE ID=@ID AND @Day IN (SELECT * FROM STRING_SPLIT(@Day,','))
我认为这(SELECT * FROM STRING_SPLIT(@Day,','))
应该与代码结合起来。
解决方案
您的查询将是:
UPDATE [PATS].[ReportSubscription]
SET [ScheduleID] = @ScheduleID
,[ReferenceID] = @ReferenceID
,[ReferenceType] = @ReferenceType
,[Schedule] = @Schedule
,[Day] = @Day
,[Time] = @Time
,[ProjectID] = @ProjectID
,[LastSentDate] = @LastSentDate
,[UserID] = @UserID
,[CreatedBy] = @CreatedBy
,[CreatedDate] = @CreatedDate
,[UpdatedBy] = @UpdatedBy
,[UpdatedDate] = @UpdatedDate
WHERE ID=@ID AND Day IN (SELECT value FROM STRING_SPLIT(@Day,','))
访问https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017了解更多信息。注意:确保相应地修剪您的选择以去除不需要的空间!
推荐阅读
- android - 在 Android 应用中将 Truecaller SDK 与 OTP 集成
- android - 我在改造 android 中使用 Login Api 时遇到问题
- linux - 在没有 Nvidia 的系统上运行应用程序
- azure - Allow/Deny users using web.config in Azure app service
- database - 无法让@Typeconverters 在地板颤动中工作
- python - 在 Heroku 上部署 Nodejs App + Python 时遇到问题
- ios - LazyVStack 和 SwiftUI 的性能不佳问题
- apache-zookeeper - 如何一次创建多个znode?
- android - 通过 JDBC 使用 Compute Engine 连接到 Cloud SQL
- javascript - Django 项目 - 从引导卡打开模式