我想更新表中包含数字和非数字数据的列。我想使用此查询将非数字数据更新为空:
UPDATE Employee_Performance,
SET Employee_Satisfaction_Score = NULL,
WHERE NOT (Employee_Satisfaction_Score ~ '^[0-9]+$');
我希望非数字数据更改为 Null,但出现此错误: SQLite 中接近 ''~'' 语法错误
您的查询似乎有很多错误。我没有 SQLite 经验,所以只能从文档中得知。
https://www.sqlite.org/lang_update.html
我在您的查询中看到的问题:
表名后面的逗号好像没必要
NULL
后面的逗号也是不必要的
~
运算符:你想使用这个“按位求反”运算符做什么?我猜您想在这里使用 =
或 REGEXP
。 https://zetcode.com/db/sqlite/expressions/
整个where条件读起来有点尴尬。
试试这个方法:
UPDATE Employee_Performance
SET Employee_Satisfaction_Score = NULL
WHERE Employee_Satisfaction_Score NOT REGEXP '^[0-9]+$';