我正在尝试使用Greenplum中的以下查询检索具有正确mac地址的所有行但是我也得到了一些垃圾数据的行,如:??:??:??:??:??:??。当我将列传递给另一个函数我收到错误
错误:"?"不是有效的十六进制数字
这是我的选择查询
select * from table where mac_address like '%:%:%:%:%:%'
and (length(mac_address)) = 17
and mac_address like '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
如何从Greenplum中的列中过滤掉错误的mac_addresses?
答案 0 :(得分:0)
我自己找到了,mac_address ~ '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
select * from table where mac_address like '%:%:%:%:%:%'
AND (length(mac_address)) = 17
AND mac_address ~ '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
limit 100;