我正在尝试这样做,但我不确定它是否可能。
我正在尝试使用转换函数复制另一个表的tblRecords1(nvarchar) of table1 to tblRecords(bigint)
的数据。
但它给出了错误。是否可以这样做?
这确保了tblRecords1中的值都是数值。
更新
我这样做如下:
INSERT INTO tblRecords (current_job_title,Highest_Education_Stream)
SELECT convert(bigint,current_job_title),convert(bigint,Highest_Education_Stream)
FROM tblRecords1
所以我做错了什么?
更新 我忘记了空值。他们正在制造问题。所以我完成了如下:
INSERT INTO tblRecords (current_job_title,Highest_Education_Stream)
SELECT current_job_title = case when current_job_title is null then 0 else convert(bigint,current_job_title) end,
Highest_Education_Stream=case when Highest_Education_Streamis null then 0 else convert(bigint,current_job_title) end,
FROM tblRecords1
答案 0 :(得分:0)
您可以进行转换,只要您转换的类型可以合理地匹配它转换的类型。所以你可以这样做:
declare @from varchar(20) = '1000000'
declare @to bigint
select @to = convert(bigint, @from)
select @to
答案 1 :(得分:0)
如下所示
INSERT INTO tblRecords(current_job_title,Highest_Education_Stream) SELECT cast(bigint为“current_job_title的数据类型”),cast(bigint as“Highest_Education_Stream的数据类型”)FROM tblRecords1
用实际数据类型替换“current_job_title”的数据类型和“Highest_Education_Stream的数据类型” 并使用
进行空检查ISNULL(可变,0)