我試圖填充從table1
到table2
的數據,它們的列數相同。如何將T-SQL中的varchar轉換爲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
對不起,沒看到你的編輯,但幾件事情:表1是在VARCHAR存在,不表2,你需要做一個*安全的*轉換,所以你應該使用與字符串格式(m/d/y)匹配的樣式進行轉換,這樣你就不會在非美國英語系統或不同的系統上遇到問題會話設置。 –
@AaronBertrand我在table1中捕獲了varchar,並對其進行了編輯以糾正錯誤。 table1,table2太多了。你對的是正確的轉換格式也是如此......一如往常 – Taryn
我不確定我是否理解第一部分。你可以解釋嗎?這會工作嗎?插入到表2 選擇s.acty_id,轉換(日期時間,s.notes_datetime,s.notes_data,101),從s.notes_data表1噸 右加入表2 S於t.acty_id = s.acty_id \t \t 並轉換( datetime,t.notes_datetime,101)= s.notes_datetime 其中t.acty_id爲空 – GLP