在MySQL中,我們經常會存儲一些JSON格式的數據,其中也不乏涉及時間的數據,如何查詢這些時間數據呢?接下來我們就來看看如何查詢JSON格式化的時間。
CREATE TABLE test_json (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
data JSON NOT NULL
);
INSERT INTO test_json (data)
VALUES ('{"name": "小明", "age": 18, "date": "2021-04-01 12:00:00"}'),
('{"name": "小紅", "age": 20, "date": "2021-05-01 12:00:00"}'),
('{"name": "小剛", "age": 22, "date": "2021-06-01 12:00:00"}');
我們先通過一個例子來創建測試數據表test_json,并往里面插入幾條數據。其中,我們模擬的是一個JSON數據對象,它包含了一些基本字段和一個時間字段。
SELECT id, data->>'$.name' AS '姓名', data->>'$.age' AS '年齡', data->>'$.date' AS '日期'
FROM test_json
WHERE DATE_FORMAT(STR_TO_DATE(data->>'$.date', '%Y-%m-%d %H:%i:%s'), '%Y-%m-%d') = '2021-05-01';
在查詢數據時,我們需要先通過STR_TO_DATE將JSON中的時間字符串轉換為日期類型,再通過DATE_FORMAT將日期類型格式化為需要的日期格式。接著,我們可以使用WHERE條件過濾掉不符合要求的數據。
總結一下,以上就是查詢JSON格式化時間的方法。希望這篇文章能夠幫助大家更好地查詢JSON數據中的時間信息。
上一篇mysql如何將表改名
下一篇css蒙版怎么用