使用if语句访问SQL查询

时间:2014-07-23 15:17:23

标签: sql ms-access-2010

我有一张如下表格。我试图根据代码列对数据进行排序。如果代码的长度小于或等于5,则代码应按原样排序,如果代码长度> 5,则在排序时从代码中删除2位数。

   sno  Code
    1   17750
    2   17775
    3   63204A06
    4   63204A07
    5   F16D078
    6   8186
    7   8100
    8   63513A52

我的SQL查询是

    SELECT sno, iif(Len([Code])<=5,[Code],Mid([Code],3)) AS Codeno FROM table1

满足代码列的更多条件是,如果代码以字母开头,那么它应该只删除那个字母(在起始位置)。排序结果应该类似于

    sno Code

    1   17750
    2   17775
    3   204A06
    4   204A07
    5   16D078
    6   8186
    7   8100
    8   513A52

如何在上述查询中指定相同的iff条件。

1 个答案:

答案 0 :(得分:1)

如果[code]不超过5个字符,则假设您保留该字母:

SELECT sno, 
iif(Len([Code])<=5,[Code],iif(ASCII([Code])>57,Right([Code],Len([Code])-1),Mid([Code],3)))
AS Codeno FROM table1