我正在嘗試將字串值轉換為十進制,同時JSON_OBJECT像這樣創建
select
JSON_OBJECT('value',
case 1
when 1 then CAST('1' as decimal)
when 2 then '2'
end)
結果看起來像
{"value": "1"}
但我期待
{"value": 1}
如果第二個when陳述句回傳十進制值,如when 2 then 2結果是正確的,但我需要從case陳述句回傳不同的型別,第一種情況下為十進制,第二種情況下為字串
{"value": 1}
{"value": "2"}
那么我應該如何修改我的查詢以獲得預期的結果呢?
mysql版本是8.0
uj5u.com熱心網友回復:
您可以按如下方式JSON_OBJECT在構造內移動生成:CASE
SELECT CASE 1 WHEN 1 THEN JSON_OBJECT('value', CAST('1' AS DECIMAL))
WHEN 2 THEN JSON_OBJECT('value', '2')
END
在此處查看演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516983.html
標籤:mysqlsql
