SQL Server 2016 データベースを使用しており、ストアド プロシージャで 2 つの日付を比較したいと考えています。
「dd-MM-yyyy」形式の文字列として 1 つの日付パラメーターを取得します。
@stringdate = '28-12-1990' // I get date in this format
これを日付形式に変換し、タイプのデータベース列と比較したいと思いますdatetime
。
SQL Server 2016 データベースを使用しており、ストアド プロシージャで 2 つの日付を比較したいと考えています。
「dd-MM-yyyy」形式の文字列として 1 つの日付パラメーターを取得します。
@stringdate = '28-12-1990' // I get date in this format
これを日付形式に変換し、タイプのデータベース列と比較したいと思いますdatetime
。
SQL Server 2016を使用しているため、PARSE
関数を使用して、この文字列を正常に解析するために必要なカルチャを定義できます。
何かのようなもの
DECLARE @stringdate VARCHAR(20) = '28-12-1990';
DECLARE @parseddate DATETIME2(3);
SELECT @parseddate = PARSE(@stringdate AS DATE USING 'de');
SELECT @parseddate
私de
はドイツのカルチャを使用しました - あなたが持っている日付の形式はヨーロッパの形式 ( dd-MM-yyyy
) であるためです。
これをチェックして:
set dateformat dmy
declare @d datetime='31-01-2016'
select @d
go
set dateformat ymd
declare @d datetime='31-01-2016'
select @d
go