P粉5417963222023-09-04 00:14:38
BOOLEAN在MySQL中不是內建的資料類型。它是一個別名,並且實作為TINYINT(1)。
請參閱https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html
使用隱式資料型別轉換:
DECLARE p_array_only BOOL DEFAULT IFNULL(0 + JSON_EXTRACT(in_parameter, '$.array_only'), FALSE);
如果對應的值是字串型別或null
,則會失敗。
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=9c5fac2c7533d9e365a449ce00c06f1b
#PS. 短形式DEFAULT IFNULL(0 in_parameter->'$.array_only', FALSE);
也很有用。
PPS. 當然,也可以使用明確的CAST()。