SQL 查询中的错误:将 varchar 值“Date”转换为数据类型 int 时转换失败

Error in SQL query: Conversion failed when converting the varchar value 'Date' to data type int

提问人:Frank 提问时间:10/31/2023 更新时间:10/31/2023 访问量:31

问:

我有两个表:MTA 和 FWCS。 我想在 MTA 开启的情况下左加入 FWCS:MTA。CoB = FWCS。CoB 和 MTA。[展会日期] = FWCS.[句号]。问题是MTA。[Expo Date] 是整数中的日期,如下所示:enter image description here.FWCS。[Period] 也是整数,但如下所示:enter image description here您可以将其读作 YYYYMMDD。

我现在试图获得 MTA。[Expo Date] 转换为格式 YYYYMMDD,然后将其转换回整数,以便我可以左联接两个表。我想出了这个:

SELECT CAST(FORMAT(CAST(mta.[Expo Date] AS datetime), 'yyyyMMdd') AS INT) AS 'Date' FROM (SELECT * FROM MTA) AS mta
LEFT JOIN FWCS ON mta.CoB = FWCS.CoB AND 'Date' = FWCS.[Period]

当我执行此操作时,我收到错误:将 varchar 值“Date”转换为数据类型 int 时转换失败。经过一些在线浏览,我认为它必须与 FORMAT() 函数做一些事情,因为 FORMAT() 函数返回 varchar 数据类型,但我不太确定

有谁知道如何使此代码工作?

提前致谢!

SQL 日期 格式设置 左联接

评论


答: 暂无答案