【发布时间】:2020-11-22 20:05:40
【问题描述】:
INSERT INTO TBLONE (
broad,tt,CUR,
STARTDATE,ENDDATE,OPERATION,
TYPE,ENT,NAMEENT,SUB,FLAG1,FLAG2,ANALYST,STATUS,
FILE,SUBID,COMMENTS )
SELECT convert(char(13),broad),
convert(numeric(7,2),tt),
convert(char(3),CUR),
@CUR_DATE,
ENDDATE,
'first',
convert(char(4),TYPE),
convert(char(7),ENT),
convert(varchar(40),NAMEENT),
convert(char(8),SUB),
'Y',
'Y',
convert(varchar(255),ANALYST),
convert(char(5),STATUS),
convert(numeric(7,0),FILE),
convert(varchar(5),SBID),
convert( varchar(255),COMMENTS)
from #TMP_TBLPONE where LE=convert(char(7) ,@LEE)
我匹配了所有的数据类型,但错误来了
“不允许从数据类型 'INT' 到 'CHAR' 的隐式转换。使用 CONVERT 函数运行此查询。”
请指导。
【问题讨论】:
-
样本数据和预期结果将阐明正在发生的事情。为什么仍然需要更改类型?
-
请在
#TMP_TBLPONE表格中添加几行示例数据,以便重现该案例,并帮助您修复它。 -
我首先为
TBLONE提取DDL,并验证列数据类型与select/projection 列表中值的数据类型匹配;特别是我想验证TBLONE.{STARTDATE,ENDDATE}的数据类型与@CUR_DATE和#TMP_TBLPONE.ENDDATE的数据类型