MYSQL直接在SQL提取json字符串中的内容-----将13位时间戳转换成标准的日期格式【记录SQL常用函数】

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;
sql 复制代码
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;

sql 复制代码
SELECT FROM_UNIXTIME(1688041306058 / 1000) ;

SELECT DATE_FORMAT(FROM_UNIXTIME(1688041306058 / 1000), '%Y-%m-%d %H:%i:%s');
相关推荐
Liu62888几秒前
如何为开源Python项目做贡献?
jvm·数据库·python
烟花巷子10 分钟前
使用Kivy开发跨平台的移动应用
jvm·数据库·python
不是株20 分钟前
Redis(入门篇)
数据库·redis·缓存
2401_8732046520 分钟前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
0xDevNull27 分钟前
MySQL 三大日志系统深度解析:Binlog、Redo Log、Undo Log
数据库·mysql
逃逸线LOF30 分钟前
数据源 C3PO与Druid
数据库·oracle
m0_5698814742 分钟前
使用Python进行网络设备自动配置
jvm·数据库·python
Zzxy1 小时前
HikariCP连接池
java·数据库
钰衡大师1 小时前
MySQL 数据库备份方案
数据库·mysql
殷紫川1 小时前
别等业务中断才补坑!RTO/RPO 核心逻辑与全场景灾备架构选型全攻略
数据库·架构