查询: UPDATE item_table SET field1=field1_spanish, field2=field2_spanish;
问:我如何更新field1与field1_spanish ONLY,如果 field1_spanish不是空的?我想更新field2与field2_spanish如果还field2_spanish没有空.
谢谢!
Jak*_*sel 10
http://sqlfiddle.com/#!5/58554/1
update
item_table
set
field1 = coalesce(field1_spanish, field1),
field2 = coalesce(field2_spanish, field2)
Run Code Online (Sandbox Code Playgroud)
该coalesce()函数将返回传递给它的第一个参数,该参数不为null.所以在这种情况下,由于field2_spanish为null,它将field2设置为field2(基本上什么都不做).
要支持空字符串和NULL值,请尝试以下操作:http: //sqlfiddle.com/#!5/b344f/3
update
item_table
set
field1 = case when coalesce(field1_spanish, '') = '' then
field1
else
field1_spanish
end,
field2 = case when coalesce(field2_spanish, '') = '' then
field2
else
field2_spanish
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4926 次 |
| 最近记录: |