Ms Access - 将字符插入字符串 - 具有不同的字符长度

Ms Access - Inserting character into a string - with different characters length

我的 Ms Access 中有以下字段 table tblCode:

      Code
      A00
      A000
      A0102
      Z688594

6000 多条记录

我正在尝试插入“.”字符,在该字段中的第 3 个字符之后,因此更新后的结果应该是:

     Code      Code1
     A00       A00
     A000      A00.0
     A0102     A01.02
     Z688594   Z68.8594

我在 "Design" MsAccess 视图中对该字段的代码是:

     Code1: IIf(Len([Code])<=3,[Code],Left([Code],3) & "." & Right([Code],1))

但我知道我的最后一个表达式是错误的,并且只有在我通过此 table 具有相同数量的字符时才有效。

我得到的结果是

       Code1
       A00
       A00.0
       A01.2
       Z68.4

请帮我调整结果的右侧!

我们可以在这里尝试使用 LEN 和连接的组合:

SELECT
    [Code],
    IIF(LEN([Code]) <= 3, [Code],
        LEFT([Code], 3) & "." & RIGHT([Code], LEN([Code]) - 3)) AS Code1
FROM yourTable;

我的逻辑对你已经拥有的唯一改变是现在传递给 RIGHT() 的长度是动态的,并使用代码中剩余的字符数(由 3 已经使用的偏移)点的左侧)。

与其使用 Right/Len 在“.”后添加字符,不如只使用 Mid:

SELECT Code, 
    IIf(Len([Code])<=3,[Code],Left([Code],3) & "." & Mid([Code],4)) AS ConvertedCode
FROM tblCode;

此致,