gpt4 book ai didi

php - SQL:如果字段具有高度和经度值则选择

转载 作者:行者123 更新时间:2023-11-29 14:18:59 26 4
gpt4 key购买 nike

我有一个地址表如下:

         Column         |           Type           |                         Modifiers                          
------------------------+--------------------------+------------------------------------------------------------
id | integer | not null default nextval('venue_address_id_seq'::regclass)
street | character varying | not null
number | character varying |
zip | character varying |
state | character varying |
country | character varying |
location | point |
venue_id | integer | not null
created_at | timestamp with time zone |
created_by | json |
updated_at | timestamp with time zone |
updated_by | json |
city_id | integer |
name | character varying |
district_id | bigint |
deleted | boolean | not null default false
location_email | character varying |
participant_list_email | character varying |

某些行的街道字段有无效数据需要更正,这些数据是:高度和经度值。

如下

SELECT street from address where id=10;

结果:

 id |        street        
----+----------------------
1 | Paseo de la Castellana, 75 (40°26'42.4"N 3°41'33.7"W)
2 | Calle Anil, 21 (40.456744,-3.616466)
3 | Correct address, 55
(2 rows)

我只想保留街道名称和号码,但删除高度和经度值,例如第 3 条正确的记录

我正在使用 postgres 数据库管理系统。我的尝试是找到错误的:

select id, street from venue_address WHERE street like '*(';

可是弄错了,我什至不知道如何改正。

问:有什么方法可以做到这一点吗?

最佳答案

嗯,一个简单的观察是正确的地址没有括号。如果您的数据是这样,您可以使用 regexp_replace():

select regexp_replace(address, ' [(].*[)]', '')
from t;

这只是删除括号之间的任何内容。如果不需要的数据格式比这更一致,您可以修改正则表达式。

关于php - SQL:如果字段具有高度和经度值则选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36742079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com