Mysql

MySQL 轉換為 TINYINT

  • June 1, 2020

我正在嘗試將字元串數據轉換為 TINYINT 數據,但我遇到了錯誤。

SELECT CAST('100' as TINYINT);

> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'TINYINT)' at line 1

轉換為 INT 工作正常。

SELECT CAST('100' as INT);

任何機構可以幫助我?

CAST() 的語法是CAST(expr AS type [ARRAY]).

您的語法正確,但您無法進行強制轉換,因為 TINYINT 不在 MySQL 中“類型”的允許值列表中。

轉換為 INT 在 MariaDB 中有效,但在 MySQL 中無效。

MySQL 僅允許將以下任何一項用作“類型”的值:

  • BINARY。

  • CHAR

  • DATE

  • DATETIME

  • DECIMAL

  • DOUBLE

  • FLOAT

  • JSON

  • NCHAR

  • REAL

  • SIGNED

  • TIME

  • UNSIGNED

https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#function_cast

引用自:https://dba.stackexchange.com/questions/268307