SQL数据types对整数和date不匹配

我正在使用MSquery,并有以下的SQL查询:

SELECT `Sheet1$`.colA, `Sheet1$`.colB, Switch( colA = '1.0', 'A1', colA = '2.0', 'A2', colA = '3.0', 'C1', colA = '4.0', 'C2' )AS colG FROM ( SELECT `Sheet1$`.colA, `Sheet1$`.colB FROM `Sheet1$` `Sheet1$` UNION ALL SELECT `Sheet2$`.colC, `Sheet2$`.colD FROM `Sheet2$` `Sheet2$` ) t; 

我收到一条错误消息:条件expression式中的数据types不匹配。 我认为这与我在switch语句中使用单引号的事实有关。

我有两张桌子,正在追加他们。 然后添加一个额外的列,并根据列A中每行的值添加不同的消息。 此查询工作时,我有列A作为文本,但是当我尝试它的数字或date时,我收到错误消息。 我需要使用什么来代替数字和date的单引号? 是否可以使用单引号的消息将被显示?

非常感谢。

colA更改为数字types,然后使用以下查询:

 SELECT `Sheet1$`.colA, `Sheet1$`.colB, SWITCH ( colA = 1.0, 'A1', colA = 2.0, 'A2', colA = 3.0, 'C1', colA = 4.0, 'C2' ) AS colG FROM ( SELECT `Sheet1$`.colA, `Sheet1$`.colB FROM `Sheet1$` `Sheet1$` UNION ALL SELECT `Sheet2$`.colC, `Sheet2$`.colD FROM `Sheet2$` `Sheet2$` ) t;