Oracle数据库查询 - 数据格式问题

时间:2014-09-10 11:06:27

标签: sql oracle

我想知道是否有办法根据格式化字段值查询oracle数据库。 例如:

我有一个以“part1 part2”格式存储的邮政编码表。我希望能够通过使用上述格式或“part1part2”格式搜索邮政编码。 我想的是通过删除空格格式化输入的邮政编码,然后查询数据库,如:

SELECT * 
FROM POSTCODES_TBL t 
WHERE t.postcode.**Format(remove spaces)** = 'part1part2'

格式(删除空格会将邮政编码从“part1 part2”转换为“part1part”。

我的问题是,有可能吗?

2 个答案:

答案 0 :(得分:2)

您可以使用regexp_replace

SELECT * 
FROM POSTCODES_TBL t 
WHERE regexp_replace(t.postcode,'\s', '') = 'part1part2'

这将删除任何空格(空格,制表符,换行符等)

或者如果你只想摆脱空格,replace也会起作用:

SELECT * 
FROM POSTCODES_TBL t 
WHERE replace(t.postcode,' ', '') = 'part1part2'

手册中的更多细节:

答案 1 :(得分:1)

您可以使用

SELECT * 来自POSTCODES_TBL t 在哪里。例如' part1%part2'