我有一个Access表,其中我有以下格式的交易ID:
Transaction_ID
39296165-1
39296165-2
39296165-3
39284029-1
39284029-2
我正在尝试编写一个查找破折号的查询并删除-1
,-2
,-3
等等,这样我就可以根据之前的字符串重复删除破折号。
我写了以下内容:
UPDATE mytable
SET Transaction_ID=Left(Transaction_ID,InStr(1,Transaction_ID,"-")-1)*
但是,当它遇到一个在字符串中没有破折号的Transaction_ID时,它会正常工作,它会给我一个类型转换并用空值替换该字符串。
有关错误捕获的建议吗?
答案 0 :(得分:2)
添加WHERE
子句,仅在InStr
未返回-1时才更新:
WHERE InStr(1,Transaction_ID,"-") > 0
答案 1 :(得分:0)
这也可行,效率更高。
WHERE Transaction_ID LIKE "*-*"