更新表以向列添加文字值

时间:2014-10-25 22:17:36

标签: sql oracle

我正在尝试使用硬编码值更新/替换表中的列值。

  

value =" c:\ temp \"

此:

COLUMN  
file.txt  
file1.txt

应该成为这个:

FINAL COLUMN  
c:\temp\file.txt   
c:\temp\file1.txt   

尝试解决方案:

SELECT REPLACE(t.column, t.column, 'c:\temp't.column)
FROM TABLE t

这是正确的逻辑吗?我们还有其他可以使用的功能吗?

2 个答案:

答案 0 :(得分:1)

假设Oracle:

如果要永久更改表中的值,可以运行更新查询:

update your_table
set your_column = 'C:\temp\' || your_column;

Sample SQL Fiddle

如果你正在使用MS SQL,你可以像这样进行连接:

MS SQL(所有版本?):

update your_table
set your_column = 'C:\temp\' + your_column; 

MS SQL 2012及更高版本:

update your_table
set your_column = concat('C:\temp\',your_column);

答案 1 :(得分:0)

如果您想要永久更改

,请执行以下UPDATE语句
update table1 set [column] = 'c:\temp\' + [column];

否则,如果您只想以这种方式显示它,那么SELECT查询应该是

select 'c:\temp\' + [column] as new_col
from table1

注意:上面的代码语法适用于SQL Server。不确定,因为您标记为