[插入目标 [26]]错误:列"GovtProgYN"无法在 unicode 和非 unicode 字符串数据类型之间进行转换



我正在执行ETL过程,并得到标题错误:

源数据类型为char(1),目标数据类型为nchar(2)

如何将数据从char插入到nchar

请帮忙。

您没有说明您使用的平台,但需要告诉它进行转换。类似的东西

SELECT CAST(GOVTPROGYN as NCHAR(2)) FROM TABLENAME_YOU_DID_NOT_SAY

SELECT CAST(GOVTPROGYN as CHAR(1)) FROM TABLENAME_YOU_DID_NOT_SAY

根据标题错误,nchar中的n添加了对unicode的支持(与nvarcharvarchar相同)。您尝试插入的数据类型为char,但您的目标字段(GovtProgYN?)需要nchar

大多数SQL引擎都支持CAST函数,它看起来像这样:CAST( field AS datatype )。在您的情况下,您可能希望将插入值强制转换为nchar(2)
示例:

INSERT INTO Table ( GovtProgYN ) 
VALUES ( CAST ( @value AS nchar(2) )

某些SQL引擎(如SQL Server)要求您使用字符串的N前缀指定unicode。如果要手动插入nchar值,请使用N'c'而不是'c'
示例:

INSERT INTO Table ( GovtProgYN ) 
VALUES ( N'c' )

相关内容

  • 没有找到相关文章

最新更新