字符串替换连接的 SQL SELECT 语句
String Replace a joined SQL SELECT statement
我想知道是否可以在联接的 SQL 语句上完成字符串替换。比如我的查询是:
SELECT (SITE_NAME || ', ' || LOT_NUMBER || ' ' || UNIT_TYPE || ' ' || LEVEL_NUMBER
|| ' ' || UNIT_NUMBER || ' ' || ROAD_NUMBER_1 || ' ' || ROAD_NUMBER_2 || ' ' || ROAD_NAME
|| ' ' || ROAD_TYPE || ' ' || ROAD_SUFFIX || ', ' || SUBURB || ', ' || STATE) AS address
FROM ADDRESS_LOOKUP_TOOL
WHERE ADD_ID = :P1_ADD_ID;
这个语句完美地工作....假设每个地址字段都被填充。如果只填充了部分路段(即没有站点名称或道路后缀),则会有额外的逗号或空格。
这里有一个很好的例子select:
House of Dom, Lot 1 Suite 4 4D 119 Fake St South, Domtopia, QLD
这是一个有缺陷的例子 select:
, Lot 1 Suite 4 4D 119 Fake St , Domtopia, QLD
是否可以在我可以说的别名上进行字符串替换,例如 replace(address, ' ,', ',')
(其中 "space comma" 变为 "comma"),或者有更好的方法我应该构建我的 select 来一次性完成这个吗?
附加说明:如果这有所不同,这一切都将在 Oracle 的 Application Express (ApEx) 中完成。
我是 SQL 的新手,所以如果我问任何基本的跟进问题,我提前道歉!
谢谢!
多米尼克
您不需要对别名执行此操作。只需在表达式本身上执行即可。
SELECT REPLACE(
(SITE_NAME || ', ' || LOT_NUMBER || ' ' || UNIT_TYPE || ' ' || LEVEL_NUMBER
|| ' ' || UNIT_NUMBER || ' ' || ROAD_NUMBER_1 || ' ' || ROAD_NUMBER_2 || ' ' || ROAD_NAME
|| ' ' || ROAD_TYPE || ' ' || ROAD_SUFFIX || ', ' || SUBURB || ', ' || STATE),
' ,', ',') AS address
FROM ADDRESS_LOOKUP_TOOL
WHERE ADD_ID = :P1_ADD_ID;
我想知道是否可以在联接的 SQL 语句上完成字符串替换。比如我的查询是:
SELECT (SITE_NAME || ', ' || LOT_NUMBER || ' ' || UNIT_TYPE || ' ' || LEVEL_NUMBER
|| ' ' || UNIT_NUMBER || ' ' || ROAD_NUMBER_1 || ' ' || ROAD_NUMBER_2 || ' ' || ROAD_NAME
|| ' ' || ROAD_TYPE || ' ' || ROAD_SUFFIX || ', ' || SUBURB || ', ' || STATE) AS address
FROM ADDRESS_LOOKUP_TOOL
WHERE ADD_ID = :P1_ADD_ID;
这个语句完美地工作....假设每个地址字段都被填充。如果只填充了部分路段(即没有站点名称或道路后缀),则会有额外的逗号或空格。
这里有一个很好的例子select:
House of Dom, Lot 1 Suite 4 4D 119 Fake St South, Domtopia, QLD
这是一个有缺陷的例子 select:
, Lot 1 Suite 4 4D 119 Fake St , Domtopia, QLD
是否可以在我可以说的别名上进行字符串替换,例如 replace(address, ' ,', ',')
(其中 "space comma" 变为 "comma"),或者有更好的方法我应该构建我的 select 来一次性完成这个吗?
附加说明:如果这有所不同,这一切都将在 Oracle 的 Application Express (ApEx) 中完成。
我是 SQL 的新手,所以如果我问任何基本的跟进问题,我提前道歉!
谢谢!
多米尼克
您不需要对别名执行此操作。只需在表达式本身上执行即可。
SELECT REPLACE(
(SITE_NAME || ', ' || LOT_NUMBER || ' ' || UNIT_TYPE || ' ' || LEVEL_NUMBER
|| ' ' || UNIT_NUMBER || ' ' || ROAD_NUMBER_1 || ' ' || ROAD_NUMBER_2 || ' ' || ROAD_NAME
|| ' ' || ROAD_TYPE || ' ' || ROAD_SUFFIX || ', ' || SUBURB || ', ' || STATE),
' ,', ',') AS address
FROM ADDRESS_LOOKUP_TOOL
WHERE ADD_ID = :P1_ADD_ID;