1.如果表中某个字段中存的是JOSN,那么mysql可以使用JSON_EXTRACT函数来进行字符串的解析。
字段内容如下所示:
[{
"tax": {
"taxName": "Tax1",
"taxAmount": {
"amount": 0,
"currency": "USD"
}
},
"chargeName": "ItemPrice",
"chargeType": "PRODUCT",
"chargeAmount": {
"amount": 499.99,
"currency": "USD"
}
}]
SELECT JSON_EXTRACT(charges, '$[0].tax.taxAmount.amount') AS tax_amount, JSON_EXTRACT(charges, '$[0].chargeAmount.amount') AS charge_amount, JSON_EXTRACT(charges, '$[0].chargeAmount.currency') AS currency FROM your_table WHERE line_id = xxx;
SELECT
JSON_EXTRACT(charges, '$[0].tax.taxAmount.amount') AS tax_amount,
JSON_EXTRACT(charges, '$[0].chargeAmount.amount') AS charge_amount,
JSON_EXTRACT(charges, '$[0].chargeAmount.currency') AS currency
FROM
your_table WHERE line_id=xxx;
查询结果 如下
2.将13位时间戳转换成标准的日期格式
例如数据库中某些时间字段记录的是 1688041306058 这样的时间戳
mysql可以使用 FROM_UNIXTIME() 来对时间戳进行转换
SELECT FROM_UNIXTIME(your_timestamp_column / 1000) AS standard_time FROM your_table;
SELECT DATE_FORMAT(FROM_UNIXTIME(your_timestamp_column / 1000), '%Y-%m-%d %H:%i:%s') AS formatted_time FROM your_table;
SELECT FROM_UNIXTIME(1688041306058 / 1000) ;
SELECT DATE_FORMAT(FROM_UNIXTIME(1688041306058 / 1000), '%Y-%m-%d %H:%i:%s');