简体   繁体   中英

Error for the keyword BETWEEN in a query

Why is there an error near the between keyword, namely

Error code -1, SQL state 42X01: Syntax error: Encountered "BETWEEN" at line 10, column 34.

Any ideas why that would happen?

select c.CustomerCode AS 会员ID, c.LastName || ' ' ||  c.FirstName AS 姓名, c.MobilePhoneNumber AS 手机号码 from  
    customer  c  
    where  
    case when
    cast( { fn  TimeStampAdd(SQL_TSI_YEAR, (YEAR(CURRENT_DATE) - YEAR(c.DOB)), c.DOB) }  as date) < CURRENT_DATE
    then
    { fn  TRIM(CAST(CAST(YEAR(CURRENT_DATE)+1 AS CHAR(4)) AS VARCHAR(4))) } || '-' ||
    { fn TRIM(CAST(CAST(MONTH(c.DOB)  AS CHAR(2)) AS VARCHAR(2))) } || '-' ||
    { fn TRIM(CAST(CAST(DAY(c.DOB) AS CHAR(2)) AS VARCHAR(2))) }
          BETWEEN CURRENT_DATE
          AND cast ({ fn  TIMESTAMPADD(SQL_TSI_DAY,  +7 ,   CURRENT_DATE) } as date)   
    else
    { fn  TRIM(CAST(CAST(YEAR(CURRENT_DATE) AS CHAR(4)) AS VARCHAR(4)))} || '-' ||  
    { fn TRIM(CAST(CAST(MONTH(c.DOB)  AS CHAR(2)) AS VARCHAR(2))) } || '-' ||
    { fn TRIM(CAST(CAST(DAY(c.DOB) AS CHAR(2)) AS VARCHAR(2))) }
          BETWEEN CURRENT_DATE
          AND cast ({ fn  TIMESTAMPADD(SQL_TSI_DAY,  +7 ,   CURRENT_DATE) } as date)   
    end
    group by c.CustomerCode, c.LastName, c.FirstName, c.MobilePhoneNumber;

我在日期/时间子句周围放了一个括号,就解决了

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM