mysql 正则表达式

125 阅读1分钟

120.247713,30.144245;120.247721,30.144492;120.247704,30.144905;120.247669,30.145247;120.247617,30.145599;120.247543,30.145942;120.247448,30.146267;120.24737,30.146484;120.247318,30.146636;120.247235,30.146827;120.246827,30.147535;120.246597,30.147873;120.123432,30.143578 

 查数据库里的非法数据, 每个分号前都是一组经纬度 要查最后一组数据是 120.124423这样只有经度,没有维度的 

-- 逗号、分号、小数点结尾
SELECT link_id,link_sequence
FROM xsga_zju_link_info
WHERE link_sequence REGEXP '[\\,,\\;,\\.]$';

-- ;120结尾的
SELECT link_id,link_sequence
FROM xsga_zju_link_info
WHERE link_sequence REGEXP '\\;[1][2][0]$';

-- [经度,纬度]  纬度的精度度不对的  
SELECT link_id,link_sequence
FROM xsga_zju_link_info
WHERE link_sequence not REGEXP '\\,[0-9]{2}\\.[0-9]{6}$';


-- 查询末尾不是   ;120.*,30.*
SELECT link_id,link_sequence
FROM xsga_zju_link_info
WHERE link_sequence not REGEXP '\\;[0-2]{3}.[0-9]+\\,[0-3]{2}.[0-9]+$'