2

SQL Server 2016 データベースを使用しており、ストアド プロシージャで 2 つの日付を比較したいと考えています。

「dd-MM-yyyy」形式の文字列として 1 つの日付パラメーターを取得します。

@stringdate = '28-12-1990'   // I get date in this format

これを日付形式に変換し、タイプのデータベース列と比較したいと思いますdatetime

4

3 に答える 3

3

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) であるためです。

于 2016-01-09T09:29:48.843 に答える
1

これをチェックして:

set dateformat dmy
declare @d datetime='31-01-2016'
select @d
go


set dateformat ymd

declare @d datetime='31-01-2016'
select @d
go
于 2016-01-09T09:25:24.883 に答える