table1
からtable2
にデータを移入しようとしていますが、両方とも同じ数の列を持ちます。VARCHARをT-SQLのdatetimeに変換するには?
table1
のすべての列は、varchar
です。 table2
の列はvarchar
、int
またはdatetime
、可能性など
私の質問は、移入の間の変換を行う方法ですか?
これは私が書いたサンプルクエリです。私は変換を行う部分が欠けている。私のdatetime
のフォーマットもmm/dd/yyyy hh:mm:ss
です。
insert into table2
select s.acty_id, s.notes_datetime, s.notes_data
from table1 t right join table2 s
on (t.acty_id =s.acty_id and t.notes_datetime =s.notes_datetime)
where t.acty_id is null
申し訳ありませんが、あなたの編集が、物事のカップルを見ていない:varchar型は、table2のない存在する場所TABLE1があり、 *安全なキャストを行う必要があります。そのため、米国以外のシステムや別のシステムで問題に終わらないように、文字列形式(m/d/y)と一致するスタイルでconvertを使用する必要がありますセッション設定。 –
@AaronBertrand私はtable1でvarcharをキャッチし、その誤りを修正するためにそれを編集しました。テーブル1、テーブル2の数が多すぎます。あなたは正しい正しい変換フォーマットについて正しいです...いつものように – Taryn
私は最初の部分を理解しているかどうかわかりません。説明できますか?これは動作しますか? TABLE1さt から変換、表2に 選択s.acty_idを挿入する(日時、s.notes_datetime、s.notes_data、101)、s.notes_data右(表2 S t.acty_id = s.acty_idに \t \tに参加し、変換しますdatetime、t.notes_datetime、101)= s.notes_datetime ここで、t.acty_idはnullです – GLP