MySQL中的JSON
數據類型與其他數據類型之間的轉換可以通過一些內置函數來實現
將JSON值轉換為字符串:
使用JSON_UNQUOTE()
函數可以將JSON值轉換為未加引號的字符串。例如:
SELECT JSON_UNQUOTE(JSON_EXTRACT('{"name": "John"}', '$.name')) AS name;
這將返回John
,而不是"John"
。
將JSON值轉換為數字:
使用JSON_EXTRACT()
或->>
操作符可以將JSON值轉換為數字。例如:
SELECT JSON_EXTRACT('{"age": 30}', '$.age') AS age;
這將返回數字30
。
將JSON值轉換為日期:
使用STR_TO_DATE()
函數和JSON_UNQUOTE()
函數可以將JSON值轉換為日期。例如:
SELECT STR_TO_DATE(JSON_UNQUOTE(JSON_EXTRACT('{"dob": "2022-01-01"}', '$.dob')), '%Y-%m-%d') AS dob;
這將返回日期2022-01-01
。
將JSON值轉換為布爾值:
使用JSON_EXTRACT()
或->>
操作符可以將JSON值轉換為布爾值。例如:
SELECT JSON_EXTRACT('{"isActive": true}', '$.isActive') AS isActive;
這將返回布爾值true
。
將其他數據類型轉換為JSON值:
使用CAST()
函數或CONVERT()
函數可以將其他數據類型轉換為JSON值。例如:
SELECT CAST('{"name": "John"}' AS JSON) AS jsonData;
這將返回JSON對象{"name": "John"}
。
總之,在MySQL中,可以使用內置函數輕松地在JSON數據類型和其他數據類型之間進行轉換。請根據需要選擇合適的函數。