クエリをフィルタリングして、前月の25日から今月の25日までの結果を抽出する必要があります。 SPは現在の月を抽出するために使用しているパラメータとして日付を受け取ります。私はいくつかのキャストを試みましたが、先月が別の年を持つ1月の月を処理する方法を理解できません(また、より効率的な方法)日付のフィルタ後の結果SQL Server
@Date smalldatetime --received as parameter
select *
from mytable
where mytable.mydate between '25/'+cast(MONTH(@date)-1 as varchar(2))+'/'+cast(YEAR(@date) as varchar(4)) and '25/'+cast(MONTH(@date) as varchar(2))+'/'+cast(YEAR(@date) as varchar(4))
SQLバージョン?回答は大きく異なる場合があります。つまり、SQL 2012は 'year()'、 'month()'および 'day()'と組み合わせて使用することができる 'datefromparts()'を導入したことで、おそらくハッキーな文字列操作よりもはるかに明確なコードを得ることができます別のロケールに分かれています。 –
SQL Serverのアンダースコアはバージョンを意味します。 SQLはISO/ANSOで指定された言語です。現在のISO SQLバージョンはSQL-2016です。 SQLとSQL Serverを混同しないでください。 – jarlh
おっと、それは重要な説明です。ありがとう。 –