首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Sybase中使用Datediff(...Dateadd(.)、Getdate())时键入Clash

在Sybase中使用Datediff(...Dateadd(.)、Getdate())时键入Clash
EN

Stack Overflow用户
提问于 2016-07-07 14:19:05
回答 2查看 515关注 0票数 0

我已经换了公司,在这样做的时候,我从SQL Server转到Sybase-ASE。我不知道我只是在放屁,编码不正确,或者在SQL Server中运行SQL ServerSybase-ASE之间是否有区别。在运行下面的代码时,我在公式的Datediff端得到了一个Datediff。运行Dateadd本身很好。不确定是否需要对某些内容进行调整,还是不能在Sybase-ASE中完成。有什么帮助吗?我检查了这些其他问题,但没有得到真正的帮助(Subtract one day from datetime GETDATE last month Get the records of last month in SQL server Datediff GETDATE Add)

代码语言:javascript
复制
SELECT TOP 5 *

FROM SalesData fm
WHERE fm.Date = DATEDIFF(MONTH, DATEADD(MONTH,-1,MAX(fm.Date)),GETDATE())

另外,附带的问题:如果有人碰巧知道的话,我不记得上个月整个月的具体公式是什么。我能搞清楚,我只是觉得最好一石二鸟。显然,要将Dates表实现到生产中有些困难。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-07 14:45:48

不过,多亏了这篇文章(Get the records of last month in SQL server),我得到了它。

代码语言:javascript
复制
where DATEPART(MONTH,fm.Date) = DATEPART(MONTH, DATEADD(MONTH,-1,GETDATE()))
AND DATEPART(YEAR,fm.Date) = DATEPART(YEAR, DATEADD(YEAR,0,GETDATE()))
票数 0
EN

Stack Overflow用户

发布于 2016-07-07 22:34:39

在内置函数方面,SQLServer和ASE几乎是完全相同的.然而,有一个不同之处,这就是你可能要打的东西。在SQLServer中,您可以使用一个日期的数字值,它在SQLServer中被解释为01-01-1900年以来的#days。ASE不支持使用数字值作为日期,您将得到一个语法错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38247887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档