sql - Microsoft Access-案例查询

标签 sql ms-access

我只是尝试使用MS Access 2007
现在我想基于其他列值更新一列,在MY SQL中成功运行了此查询

UPDATE HAI
SET REGION=(
CASE
  WHEN (NUMREG LIKE '%1') THEN 'BDG'
  WHEN (NUMREG LIKE '%2') THEN 'JKT'
  WHEN (NUMREG LIKE '%3') THEN 'KNG'
END);

此查询将不会在MS Access中运行,出现错误Sytax error (missing operator) in query expression。我该如何解决?

最佳答案

在Access SQL中没有CASE ... WHEN。您可以改为使用Switch Function

UPDATE HAI
SET REGION = Switch(
    NUMREG Like '*1', 'BDG',
    NUMREG Like '*2', 'JKT',
    NUMREG Like '*3', 'KNG'
    );

该查询使用Access的默认值(ANSI 89模式)*代替%通配符。如果要使用%通配符,则可以使用ALike比较运算符来实现。
UPDATE HAI
SET REGION = Switch(
    NUMREG ALike '%1', 'BDG',
    NUMREG ALike '%2', 'JKT',
    NUMREG ALike '%3', 'KNG'
    );

关于sql - Microsoft Access-案例查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11534425/

相关文章:

mysql - 如何选择最多的 2 个最近使用的标签?

mysql - SQL:对行进行计数和分组

mysql - SQL错误: duplicate entry for value'0' PRIMARY

ms-access - 在 Access VBA 中禁止写入冲突消息

sql - PostgreSQL - 修改扩展中的 CREATE TABLE 语法

sql - 如何在 postgres 9.3 中存储少量关系数据(例如用户角色)?

sql - 从多个范围查找值的最佳方法

java - 在没有 ODBC 的情况下从 Java 操作 Access 数据库

c# - 如何删除 Access 中的表(如果存在)

mysql - 通过 ADO 创建/编辑记录时索引 MySQL 字段不保存值