民兵狗二蛋个人博客

愿居于一城,与卿所见美好......

推荐文章

mp查询结果报错Error attempting to get column fromxx

    Error attempting to get column from result set

    当使用mybatis plus3.2.0+springboot2.1.1 报错
    Error attempting to get column from result set
    1.一般出现这种问题,最简单的错误可能是因为数据库的字段类型和实体类的类型不一致
    2.但我不是,我是因为在实体类里面使用了@builder,但是没有使用@AllArgsConstructor和@NoArgsConstructor,没有无参构造函数

    阅读全文>>

作者:民兵狗二蛋分类:【javaEE浏览(107评论(0

2021-09-17 21:00:01

mysql 使用JSON_EXTRACT() 取json值

    mysql 取json字符串字段下的某个键的值

    要求:mysql版本5.7及以上

    SELECT JSON_EXTRACT('{"uid":"asas02234"}', "$.uid");


    由于json的键值是带双引号。所以需要去掉双引号。

    1.使用replace()做替换

    select 
    
        replace(JSON_EXTRACT(infoJson,'$.uid'),'"','') uid
    
    from users


    laravel 里使用JSON_EXTRACT

    $applyList = DB::table('invoice')
    
                ->select('applied_at','total_amount','invoice_form','invoice_file','reject_reason')
    
                ->selectRAW('replace(JSON_EXTRACT(invoice_detail,"$.owner_name"),\'"\',\'\') as owner_name')
    
                ->where('uid',Auth::id())->get();


    2.使用 JSON_UNQUOTE()


    SELECT JSON_UNQUOTE(JSON_EXTRACT('{"id":"3"}', "$.id"));


    $applyList = DB::table('invoice')
    
                ->select('applied_at','total_amount','invoice_form','invoice_file','reject_reason')
    
                ->selectRAW('JSON_UNQUOTE(JSON_EXTRACT(invoice_detail,"$.owner_name")) as owner_name')
    
                ->where('uid',Auth::id())->get();

    ————————————————

    版权声明:本文为CSDN博主「cofecode」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/cofecode/article/details/103418020

    阅读全文>>

作者:民兵狗二蛋分类:【javaEE浏览(1387评论(0

2021-04-30 13:52:57