gpt4 book ai didi

mysql - SQL "Not Like ' % %'"条件插入/更新

转载 作者:行者123 更新时间:2023-11-30 00:06:36 26 4
gpt4 key购买 nike

我有一个通过 Powershell 执行的条件 SQL 语句,它根据行的存在插入或更新数据库。我正在使用这个脚本来盘点软件。但是,脚本运行时会出现大量安全更新和修补程序,我希望将这些记录排除在 SQL 数据库中,因为它们不符合应用程序的资格。我尝试过以几种不同的方式使用 NOT LIKE 子句,但我就是无法让它工作。我也尝试过使用 EXCEPT。任何意见是极大的赞赏!下面的代码是我上次尝试的语法:

Invoke-Sqlcmd -ServerInstance "$SQLServer" -Database "$SqlDB" -query "UPDATE $SoftwareTable
SET name = N'$($CSVAppName -replace "'", "''")',
version = N'$($CSVVersion -replace "'", "''")',
product_id = N'$($CSVAppID -replace "'", "''")',
arch = N'$($CSVArch -replace "'", "''")'
WHERE product_id = '$CSVAppIDgo'
WHERE name not like '%hotfix%' AND '%security update%';
IF @@ROWCOUNT=0
INSERT INTO $SoftwareTable (name, version, product_id, arch)
VALUES (N'$($CSVAppName -replace "'", "''")', N'$($CSVVersion -replace "'", "''")', N'$($CSVAppID -replace "'", "''")', N'$($CSVArch -replace "'", "''")')
WHERE name not like '%hotfix%' AND '%security update%'"
}

最佳答案

Invoke-Sqlcmd -ServerInstance "$SQLServer" -Database "$SqlDB" -query "UPDATE $SoftwareTable
SET name = N'$($CSVAppName -replace "'", "''")',
version = N'$($CSVVersion -replace "'", "''")',
product_id = N'$($CSVAppID -replace "'", "''")',
arch = N'$($CSVArch -replace "'", "''")'
WHERE product_id = '$CSVAppIDgo'
and name not like '%hotfix%'
AND name not like '%security update%';
IF @@ROWCOUNT=0
INSERT INTO $SoftwareTable (name, version, product_id, arch)
VALUES (N'$($CSVAppName -replace "'", "''")', N'$($CSVVersion -replace "'", "''")', N'$($CSVAppID -replace "'", "''")', N'$($CSVArch -replace "'", "''")')
WHERE name not like '%hotfix%'
AND name not like '%security update%'"
}

关于mysql - SQL "Not Like ' % %'"条件插入/更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24491315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com