首先,我使用此查询来选择月份的名称。

SELECT SUBSTRING(DATENAME(month, (SELECT DATEPART(mm,lco_Date)+2
FROM aCT.dbo.iPLEX_BULK_PO_PARM WHERE Recid = '81a50399-e383-41a0-9196-2eaaa42b0ee8' AND season_id = '2015-SS')),1,3)


我的lco_date月是2月2日。然后+ 2是4,即APR。现在,当我运行整个代码时,它仅显示JAN,并且让我感到困惑。

我使用此代码确定月份数,并在结果4上获得成功。这是我添加的子字符串,但我没有获得正确的月份名。有人可以帮忙吗?

(SELECT DATEPART(mm,lco_Date)+2
FROM aCT.dbo.iPLEX_BULK_PO_PARM WHERE Recid = '81a50399-e383-41a0-9196-2eaaa42b0ee8' AND season_id = '2015-SS')

最佳答案

您是否尝试过使用DATEADD或任何等效的工具? DATEADD将要添加的日期部分(例如,日,月等),要添加的间隔时间和日期作为参数。该数字可以是正数(对于将来的日期),也可以是负数(对于过去的日期)。

SELECT DATEADD(month,2,lco_Date) AS OrderPayDate FROM aCT.dbo.iPLEX_BULK_PO_PARM WHERE Recid = '81a50399-e383-41a0-9196-2eaaa42b0ee8' AND season_id = '2015-SS')


有关完整语法,请参见此处:
http://www.w3schools.com/sql/func_dateadd.asp

10-07 15:37
查看更多