有没有一种查找和替换功能的SQL

问题描述 投票:1回答:1

我有我的SQL一些值我想要修整和更换。我想看看在关键领域_booking_persons只有存储所有""之间并删除其余部分。

所以此刻,我在各个领域得到了这个

s:14:"a:1:{i:0;i:4;}“

我想保持a:1:{i:0;i:4;} " "之间等等应有尽有。

我试图与WordPress元后更新修复它。所以我想,也许这是容易做到这一点与SQL。

$args = array('post_type' => 'wc_booking', 'posts_per_page' => '-1'  );                                              
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        $post_id = get_the_ID();
        $array = get_post_meta( $post_id, '_booking_persons', true );
        $between = preg_replace('/(.*)"(.*)"(.*)/sm', '\2', $array);
        update_post_meta( $post_id, '_booking_persons', $between );
    }

    /* Restore original Post Data */
    wp_reset_postdata();
} else {
    // no posts found
}

我希望a:1:{i:0;i:4;}但留下,因为它是s:14:"a:1:{i:0;i:4;}“

sql wordpress replace trim
1个回答
0
投票

你可以用SUBSTRING_INDEX功能很容易做到这一点:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX( 'S:14:\ “一个:1:{I:0; I:4;} \”', '\ “',2), '\”',-1);

这将返回:

一个:1:{I:0; I:4;}

请注意,您需要逃离“字符以\

您可以在行动here看到这

© www.soinside.com 2019 - 2024. All rights reserved.