SQL错误将一个字段传输到另一个数据库和表

时间:2014-11-18 04:20:15

标签: sql-server

我想从new_CRSE_EDTE转移到其他数据库和表。

我的代码在这里

select try_convert(datetime,LEFT([CRSE_EDTE], 4)+'-'+RIGHT([CRSE_EDTE],2)+'-28',111) as new_CRSE_EDTE
FROM [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER]
update DMSTAG.dbo.TEMP_AKAUN_MARA
set new_TarikhTamatPengajian = new_CRSE_EDTE
FROM [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER]
where DMSTAG.dbo.TEMP_AKAUN_MARA.STUDENTN = [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER].[STUDENTN]
collate latin1_general_CI_AI

此代码正常运行,但仅适用于从2020年开始的年份。

CRSE_EDTE的原始数据有多年,例如1991-10-11 00:00:00:000

1 个答案:

答案 0 :(得分:0)

如果您还没有,请在尝试此代码之前备份您的数据库。这是未经测试的:

update DMSTAG.dbo.TEMP_AKAUN_MARA
set new_TarikhTamatPengajian = (
select TOP 1 try_convert(datetime,LEFT([CRSE_EDTE], 4)+'-'+RIGHT([CRSE_EDTE],2)+'-28',111) as new_CRSE_EDTE
FROM [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER]
where DMSTAG.dbo.TEMP_AKAUN_MARA.STUDENTN = [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER].[STUDENTN]
collate latin1_general_CI_AI)