2016-11-23 3 views
0

が動作していない:の変換日付は、私が列を持つテーブルを作成してい

ID | FirstName | LastName | DOB 

私はその後、2つの異なるテーブル表2に

INSERT INTO ClientData( 
FirstName, 
LastName, 
DOB) SELECT FirstName, 
      LastName, 
      BirthDate 
     FROM Table1 
     LEFT JOIN Table2 ON Table1.ID=Table2.ID 

日付のデータでこれらの列を移入しています

1990-01-01 

しかし、私は形式でそれを希望:誕生形式になってい

01-Jan-1990 

それがファイナルテーブルで、この形式では出てこないしかし、私は挿入文

UPDATE ClientData 
SET DOB = CONVERT(VARCHAR(11), DOB, 106) 

前にUPDATEステートメントを使用しました。どんな助けもありがとう。

+1

列のデータ型? – jarlh

+0

table2の "生年月日"フィールドのタイプは何ですか? –

+0

'exec sp_columns ClientData'は何時でも' DOB'文字列ですか? –

答えて

0

トライFORMATの代わりに、CONVERT

FORMAT (value, format [, culture ]) 

FORMAT (BirthDate, 'your pattern', 'en-US') 
0

@Shnugoはコメントで述べたように。あなたのクエリは大丈夫です。あなたのスキーマを変更し、決して日付を文字列として保存しないでください。常に両方のテーブルtable1table2ためDateTimeデータ型を使用して、単純に、クライアント側でUIアプリケーションをDataTimeを変換など

0

日時の列は、その後、varchar型に変換すべてのCASTの最初:

 UPDATE ClientData 
     SET DOB = CONVERT(VARCHAR(11), cast(DOB as datetime), 106) 
関連する問題