Tôi đang cố gắng điền dữ liệu từ table1
đến table2
, cả hai đều có cùng số cột.Làm thế nào để chuyển đổi varchar thành datetime trong T-SQL?
Tất cả các cột trong table1
thuộc loại varchar
. Các cột trong table2
có thể là varchar
, int
hoặc datetime
, v.v.
Câu hỏi của tôi là cách thực hiện chuyển đổi trong quá trình điền?
Đây là truy vấn mẫu mà tôi đã viết. Tôi nhớ một phần để thực hiện chuyển đổi. Ngoài ra, định dạng của datetime
của tôi là 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
Xin lỗi, không thấy chỉnh sửa của bạn, nhưng một vài điều: table1 là nơi chứa varchar, chứ không phải bảng 2, và bạn cần thực hiện một phép * an toàn để bạn nên sử dụng chuyển đổi với kiểu phù hợp với định dạng chuỗi (m/d/y) để bạn không gặp phải sự cố trên hệ thống tiếng Anh không phải của Hoa Kỳ hoặc với cài đặt phiên. –
@AaronBertrand Tôi bắt được varchar trong table1 và chỉnh sửa nó để sửa lỗi đó. Quá nhiều table1, table2's. Bạn cũng đúng về định dạng chuyển đổi, chính xác ... luôn là – Taryn
Tôi không chắc tôi hiểu phần đầu tiên. bạn có thể giải thích? sẽ làm việc này? chèn vào table2 chọn s.acty_id, chuyển đổi (datetime, s.notes_datetime, s.notes_data, 101), s.notes_data từ table1 t đúng tham gia table2 s \t trên t.acty_id = s.acty_id \t và chuyển đổi (datetime, t.notes_datetime, 101) = s.notes_datetime trong đó t.acty_id là null – GLP