私はこれを持っていました:
select company
from alldata
where **{previous month of date("01.05.2011")}**
IN
(select month from alldata where SumNrSpot=0)
クローズで前月を見つける必要がありますwhere
。お願いします、誰か助けてくれませんか?
私はこれを持っていました:
select company
from alldata
where **{previous month of date("01.05.2011")}**
IN
(select month from alldata where SumNrSpot=0)
クローズで前月を見つける必要がありますwhere
。お願いします、誰か助けてくれませんか?
MySQLを使用している場合:
SELECT MONTH(DATE_SUB('2011-05-01', 1 MONTH))
あなたの場合
select company
from alldata
where MONTH(DATE_SUB('2011-05-01', 1 MONTH))
IN
(select month from alldata where SumNrSpot=0)
両方の機能の詳細については、こちらをご覧ください。
SQL サーバーの場合
関数MONTH()を使用して、日付から月を取得できます。
DATEADD(month,-1,) を使用して、日付を月単位で調整できます。
日付をテキスト形式で SQL Server に提示する場合は、常に YYYYMMDD の形式を使用する必要があります。
where MONTH(DATEADD(month,-1,'20110501') IN
これは、テーブルの列alldata.month
に 1 ~ 12 の月の数値が含まれていることを前提としています。
DateAdd()
パラメータ、月、および値としてメソッドを使用-1
して、前の月を取得できます。
以下はあなたに与える
select DatePart(mm,DateAdd(m,-1,GetDate())) as PreviousMonth
クエリについては、次を試すことができます。
select company
from alldata
where datepart(mm,dateadd(m,-1,Convert(DateTime, Convert(DateTime,'01.05.2011',104))))
IN (select month from alldata where SumNrSpot=0)
私はそれをこのようにしました:
select company
from alldata
where MONTH(`Mon`) -1
IN
(select MONTH(Mon) from alldata where SumNrSpot=0)
とにかくありがとう、あなたの応答のいくつかは役に立ち、感謝されました。
指定された日付から月を抽出し、-1 を追加します
select ( extract (month from now()) -1 ) as previous_month
Select
DATEPART(mm,(DATEADD(m,-1,CONVERT(DATETIME,'01.05.2011')))) AS PreviousMonth
IN
(Select month from alldata where SumNrSpot=0)
「月」列が整数値であると仮定します