0

チェック制約が欲しい。日付がyyyy-MM-ddフォーマットされているかどうかにかかわらず、日付列をチェックします。

何も思いつきません。ただ、やってみただけで、

create table #date( dob date check (dob like 'yyyy-MM-dd'))

insert #date values( '2018-09-24')

そのため、日付変換エラーが残ります。

更新 1

ノート:

  1. @@version: Microsoft SQL Server 2012
  2. date欄があればvarchar、それも歓迎です。
  3. 一部の回答にはconvert(). しかし、私のシナリオは、フロント エンド チームが値を として挿入しているというものdd-MM-yyyyでした。yyyy-MM-dd(私たちの手順に従って)正しいフォーマットを挿入するように何度も言いました。しかし、彼らはできません。そのため、フォーマットに従って挿入値を制限したいと思います。

前もって感謝します。

タミル・プガル。

4

3 に答える 3

1
create table #date( dob date check  
 (dob like '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]'));

 insert into #date values('2018-08-20')

これを試して、期待される出力を取得してください。

于 2018-08-28T15:56:52.657 に答える