假设我有一个名为 INFO 的下表:
NAME CITY PROFESSION
A New-Mexico Software-Developer
B Tampa Software-Analyst
我只想将 PROFESSION 列中的“-”替换为“/”。显示表 INFO 的所有内容并进行上述更改的查询应该是什么?
我试过了:
SELECT REPLACE(PROFESSION,'-','/') , * from INFO;
但这行不通。
最佳答案
当您的 SELECT
列表中有任何其他列时,您不能使用纯星号 (*
)。您必须使用表名或别名:
SELECT REPLACE(PROFESSION,'-','/') , info.* from INFO;
我猜你想要的是:
SELECT name, city, REPLACE(PROFESSION,'-','/') AS profession FROM info;
测试:
CREATE TABLE info (
name VARCHAR2(20),
city VARCHAR2(20),
profession VARCHAR2(20)
);
INSERT INTO info VALUES ('A', 'New-Mexico', 'Software-Developer');
INSERT INTO info VALUES ('B', 'Tampa', 'Software-Analyst');
COMMIT;
SELECT name, city, REPLACE(PROFESSION,'-','/') AS profession FROM info;
输出:
NAME CITY PROFESSION -------------------- -------------------- -------------------- A New-Mexico Software/Developer B Tampa Software/Analyst
关于mysql - 在 SQL oracle 中对特定列使用 replace with select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941814/