Sql server 如何从一个表中获取日期并插入到另一个表中
我使用以下查询从一个表中获取日期并插入到另一个表中Sql server 如何从一个表中获取日期并插入到另一个表中,sql-server,Sql Server,我使用以下查询从一个表中获取日期并插入到另一个表中 INSERT INTO InstallmentPaymentHistory VALUES('DateSold') SELECT CONVERT(VARCHAR(11), s.DateSold, 113) AS DateSold FROM SalesInvoice s WHERE s.SalesInvoiceID = 9; 但我犯了个错误 从字符串转换日期和/或时间时转换失败 我也试过了 INSERT INTO Installment
INSERT INTO InstallmentPaymentHistory
VALUES('DateSold')
SELECT CONVERT(VARCHAR(11), s.DateSold, 113) AS DateSold
FROM SalesInvoice s
WHERE s.SalesInvoiceID = 9;
但我犯了个错误
从字符串转换日期和/或时间时转换失败
我也试过了
INSERT INTO InstallmentPaymentHistory
VALUES('YYYY.MM.DD')
SELECT CONVERT(VARCHAR(11), s.DateSold, 113) AS DateSold
FROM SalesInvoice s
WHERE s.SalesInvoiceID = 9;
但我也犯了同样的错误
表1
SalesInvoiceID CustomerID SoldDate TotalBill
-------------------------------------------------------
1 3840 2018.03.22 20000
2 4581 2018.04.11 80000
3 4420 2018.05.13 60000
表2
InstallmentPaymentID SalesInvoiceID InstallmentNo DueDate PaymentDdate
---------------------------------------------------------------
1 2 1 2018.03.22 2018.3.22
2 2 2 2018.04.11 2018.3.22
3 2 3 2018.05.13 2018.3.22
不完全清楚你想用这些命令做什么 如果要使用SELECT,并结合一些固定值,则应使用如下内容:
INSERT INTO dbo.InstallmentPaymentHistory (specify-the-list-of-columns-here!)
SELECT
-- provide the fixed values here, first
11, 9, 2, 'DateSold', '20180306', 6000,
-- then the "calculated/converted" value from your other table
CONVERT(VARCHAR(11), s.DateSold, 113)
FROM
dbo.SalesInvoice s
WHERE
s.SalesInvoiceID = 9;
另外:从您的帖子中还不清楚日期字符串2018.3.6是指6月3日还是3月6日-但我建议始终使用经过修改的ISO-8601格式,即YYYYMMDD,不带任何破折号或任何东西
因此,对于3月6日,使用20180306;对于6月3日,使用20180603您的插入可以类似于插入表格列列表值列表值列表,也可以插入表格列列表从中选择列列表。。。。其中但是我真的不明白你在这里想做什么-一些值,还有一个SELECT-你希望两者都为INSERT提供值吗??那肯定不行!我将从用户的前端GUI中获取值,但DueDate列表2将从SoldDate列表中获取值1@shakeelahmad:更新了我的回复-您的日期格式非常不寻常-请参阅我的评论并为您选择正确的值我的日期格式为YYYY.MM.DD我已编辑了我的问题,以便于理解我想要什么