首页 > 解决方案 > 如何使用 laravel 更新 postgresql 数据库中的 json 数据?

问题描述

如何更改数据库中的下一个数据:

jsonData = [{"given_date": "2 1.05. 2002 year"}] 

jsonData = [{"given_date": "21.05.2002"}]

标签: jsonlaravelpostgresql

解决方案


使用正则表达式更新 Postgresql:

UPDATE table
SET given_date = regexp_replace(given_date, '(\s|[a-zA-Z])', '','');

regexp_replace根据第二个常规参数(匹配空格和字母) ,取值given_date并被第三个参数(空字符串)替换。第四个参数是 'g(global)', 'i(ignore case)' 之类的选项;

Postgresql regexp_replace 参考

Laravel 使用正则表达式更新:

\DB::table('tablename')
->where(...)
->update([
'given_date' => \DB::raw("regexp_replace(given_date, '(\s|[a-zA-Z])', '','')")
]);

推荐阅读