我正在使用Microsoft SQL Server 2012 Management Studio。在下面的表格中,我试图摆脱2019年1月1日至2019年1月4日之间长5位数或在破折号以零开头的ID号。

IDnum        DateTime
-----------------------
11-102434    03/01/2019
11-02434     03/01/2019
11-102421    02/01/2019
11-02421     02/01/2019
10-02345     31/12/2018


这就是我想看到的

IDnum        DateTime
-------------------------
11-102434    03/01/2019
11-102421    02/01/2019
10-02345     31/12/2018


我认为where子句中需要某种RTRIM(),但不确定如何执行此操作。

最佳答案

这是一种方法。

SELECT IDnum, DateTime
  FROM YourTable
 WHERE NOT (DateTime >= '2019-01-01' AND DateTime < '2019-01-05' --exclude from 1st Jan 2019 to 4th Jan 2019
             AND (IDnum LIKE '%-_____'  --that are 5 digits long after the dash
                  OR
                  IDnum LIKE '%-0%'  --or begin with a 0 (after the dash)
                 )
           )

关于sql - RTRIM在where子句中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54022116/

10-16 16:22