Sql 删除ACCESS中的最后一个字符(如果是)&引用;

Sql 删除ACCESS中的最后一个字符(如果是)&引用;,sql,ms-access,Sql,Ms Access,我正在尝试编写一个更新查询,如果最后一个字符是句点(“.”),它将删除最后一个字符。在EXCEL中,我将使用以下语句: =IF(RIGHT(A1,1)=".",LEFT(A1,LEN(A1)-1),A1) 我如何修改此访问权限?我在一个论坛中发现了以下语句,但ACCESS似乎对“子字符串”有问题,不允许我运行查询 UPDATE table SET field = SUBSTRING(field, 1, CHAR_LENGTH(field) - 1)WHERE field LIKE '%.'

我正在尝试编写一个更新查询,如果最后一个字符是句点(“.”),它将删除最后一个字符。在EXCEL中,我将使用以下语句:

=IF(RIGHT(A1,1)=".",LEFT(A1,LEN(A1)-1),A1)
我如何修改此访问权限?我在一个论坛中发现了以下语句,但ACCESS似乎对“子字符串”有问题,不允许我运行查询

 UPDATE table SET field = SUBSTRING(field, 1, CHAR_LENGTH(field) - 1)WHERE field LIKE '%.' 

有什么想法吗?

我认为在Access中执行此操作的正确方法是:

UPDATE table
    SET field = LEFT(field, LEN(field) - 1)
    WHERE field LIKE '*.' ;

请注意,类似于通配符的
在MS Access中是不同的。

我认为在Access中这样做的正确方法是:

UPDATE table
    SET field = LEFT(field, LEN(field) - 1)
    WHERE field LIKE '*.' ;

请注意,在MS Access中,与
类似的通配符是不同的。

如果子字符串以句点结尾,则只需创建一个比现有字符串短一个字符的子字符串:

UPDATE YourTable
   SET YourColumn = LEFT(YourColumn, LEN(YourColumn - 1))
 WHERE YourColumn LIKE '*.'

如果通过函数以句点结尾,则只需创建一个比现有字符串短一个字符的子字符串:

UPDATE YourTable
   SET YourColumn = LEFT(YourColumn, LEN(YourColumn - 1))
 WHERE YourColumn LIKE '*.'

Access告诉我“查询表达式‘LEFT(字段,1,LEN(字段)-1’中的函数使用了错误的参数数”。如果OP对ANSI Like使用了
Like
运算符,则可以使用熟悉的
%
而不是
*
。Access告诉我“查询表达式‘LEFT(字段,1,LEN(字段))中的函数使用了错误的参数数”-1.如果OP对ANSI Like使用
Like
运算符,则可以使用熟悉的
%
而不是
*