我有一张看起来像这样的表:
空字段可以为null或空字符串,我不确定。 我想将 firstName 字段更新为名称字段中的所有字符,直到 - ,无论名字是空的还是没有。更新前的内容并不重要。
我尝试了以下查询但没有成功:
update table1
set firstname= Left([Name],InStr(1,[Name],"-")-1)
但我在两条记录上收到转换错误。
我试过了:
update table1
set firstname= iif(name is null,firstname,Left([Name],InStr(1,[Name],"-")-1))
但我仍然有错误。
为什么会发生这种情况以及如何解决?
答案 0 :(得分:2)
您收到错误的原因是您不能对空值使用字符串函数。首先,您需要将Null变为空白,然后提取名称。
IIf(IsNull([Name]),"",Left([Name],InStr(1,[Name],"-")-1))
这应该阻止类型转换
答案 1 :(得分:0)
webaddress字段是什么?
从您上面的表格中可以看出:更新table1 set name = iif(name为null,null,Left([Name],InStr(1,[Name],“ - ”) - 1))