我需要有条件地更新SQL-Server表中的字段。该字段包含各种状态类型的单字母指示符,所有这些都在现场。例如“我”为被保险人,“O”为其他被保险人,“H”为健康资格等,但作为一个复合体。该字段可能不包含任何内容,任何字母或所有字母。例如“IHO”或“HOI”或“O”或“OI”等。但是,任何给定的单个字母在该字段中不应出现多次。
应用程序正在基于唯一ID运行一组记录,并在给定记录的唯一ID的情况下仅更新此字段。是否可以在单个SQL Update语句中完成等效的:
“如果此字段中已包含”I“,则不要执行任何操作;否则,请在现有字母集中添加”I“。
......如果是这样(当然),那个Update语句会是什么样子?
我远非SQL专家(显然),所以请保持温和。 :)
答案 0 :(得分:4)
像
这样的东西UPDATE MyTable
SET StatusTypes= StatusTypes+ 'I'
WHERE UniqueID=5
AND CHARINDEX('I', StatusTypes)=0