MySQL의 BOOL 변수를 JSON의 BOOL 값으로 설정할 수 없습니까?
<p>MySQL 버전: 8.0.27</p>
<p>이건 제겐 말이 안 됩니다. 다음과 같은 정의가 있습니다. </p>
<pre class="brush:php;toolbar:false;">DECLARE p_array_only bool DEFAULT IFNULL(JSON_EXTRACT(in_parameters, '$.array_only'),FALSE);</pre>
<p>올바른 JSON 구조를 전달하는 경우: </p>
<pre class="brush:php;toolbar:false;">{"array_only":true}</pre>
<p>오류가 발생했습니다: </p>
<pre class="brush:php;toolbar:false;">1행의 'p_array_only' 열에 대한 'true' 값이 올바르지 않습니다</pre>
<p>키를 완전히 생략하면 작동합니다(IFNULL이 Null을 반환하고 FALSE로 설정되기 때문입니다). </p>
<p>무슨 일이 일어났나요? JSON의 다른 모든 코드 할당은 잘 작동합니다(INT, Text, SMALLINT 등). 형식은 정확히 동일합니다. 그리고 이 코드는 몇 달 전(8.0.24 사용)에는 작동했을 것이라고 확신합니다. </p>
<p>저도 시도해 보았습니다: </p>
<pre class="brush:php;toolbar:false;">IFNULL(IF(JSON_EXTRACT(@test1, '$.array_only') IS TRUE,TRUE,FALSE),FALSE)</pre>
<p>같은 오류입니다. </p>
<p>그렇다면 8.0.27에서 true/false BOOL JSON 값을 BOOL MySQL 값으로 간단히 변환하려면 어떻게 해야 할까요? </p>