Sql 获取上个月的数据

Sql 获取上个月的数据,sql,datetime,sybase,Sql,Datetime,Sybase,我正在尝试使用以下代码获取最近几个月的数据,但不断出现以下错误: 数据异常-参数必须是日期或日期时间 这是我的密码: SELECT cast(OPEN_DATE as datetime) FROM OPENQUERY(serverb,' SELECT cast(OPEN_DATE as datetime) FROM xx WHERE co_cde = 15 and cust_no in (1780066) and cas

我正在尝试使用以下代码获取最近几个月的数据,但不断出现以下错误:

数据异常-参数必须是日期或日期时间

这是我的密码:

 SELECT cast(OPEN_DATE as datetime)
 FROM OPENQUERY(serverb,' SELECT cast(OPEN_DATE as datetime)
      FROM xx
       WHERE co_cde = 15   
         and cust_no in (1780066)  
         and cast(OPEN_DATE as datetime)  >=
             DATEADD(mm,DATEDIFF(mm,0,GETDATE())-1,0)
        AND cast(OPEN_DATE as datetime)   <  
             DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)   ' )   

它是用于哪个RDBMS的?日期格式通常是特定于RDBMS的。添加标签。这是SQL和openquery Sybase Sybase是一家公司,而不是一个数据库。请指定您所指的Sybase产品/版本,因为它可能会影响答案。在这种情况下,如果使用Sybase ASE,则CAST不是有效的函数。您需要使用CONVERT进行数据类型转换。我已经弄明白了,谢谢。如何删除此线程?