为什么在MySQL中使用CAST时会出现语法错误?

Sil*_*ser 7 mysql sql mysql-workbench

我正在使用MySQL workbench v5.2.44 CE.我正在针对本地MySQL 5.5安装运行它.

我试图使用该CAST函数,但不断收到以下错误:

语法错误,意外的INT_SYM

源和目标日期类型无关紧要.它唯一没有给我错误的是目标数据类型DECIMAL.这是一个例子:

SELECT CAST(IFNULL(comboCount, 1) * COUNT(partID) AS INT) INTO comboCount
FROM productOption
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切,但似乎没有任何效果.

Ker*_*mit 5

尝试在外面做数学:

SELECT CAST(IFNULL(comboCount, 1) AS INT) * COUNT(partID) INTO comboCount
FROM productOption
Run Code Online (Sandbox Code Playgroud)

如果那不起作用,请尝试CASTUNSIGNED; 不INT

  • 您可以使用“SIGNED”、“UNSIGNED”或“DECIMAL(20)”。答案中给出的语法将引发错误,因为它与原始查询存在相同的问题……裸露的 `INT` 关键字作为 CAST 的类型无效。 (2认同)