如何将文本添加到SQL列

时间:2013-09-29 18:33:10

标签: sql sql-update

我想在SQL表中更新1列。示例:列中的当前值如下所示

2013/09/pizzalover.jpg 
2013/10/pasta.jpg       

现在我想像这样更新整个专栏:www.mypizza.com/2013/09/pizzalover.jpg 有什么方法可以做到这一点吗?提前致谢

5 个答案:

答案 0 :(得分:6)

您只需使用声明

更新列
update TableName set ColumnName  = 'www.mypizza.com/' + ColumnName  

答案 1 :(得分:4)

如果您使用的是MYSql,则可以使用concat()作为:

update tableName set columnName= CONCAT('www.mypizza.com/', columnName);

SQLFiddle

如果您使用的是oracle,可以使用concatenation operator '||'作为:

update tableName set "columnName"='www.mypizza.com/'||"columnName";

SQLFiddle

在SQL Server中,您可以使用+ for string concatenation作为:

update tableName set name='www.mypizza.com/'+columnName;

SQLFiddle

答案 2 :(得分:1)

你的意思是这样的?:

SELECT 'www.mypizza.com/' + ColumnName AS ColumnName FROM TableName

根据应用程序环境的其余部分,可能有很多更好的方法来实现此目的。但是就仅使用SQL将静态文本添加到SELECT语句中的列而言,您可以直接在语句中连接文本。

或者,如果您想更新列值,请执行以下操作:

UPDATE TableName SET ColumnName = 'www.mypizza.com/' + ColumnName

相同的原则,只使用UPDATE而不是SELECT,它将修改基础数据,而不仅仅是修改数据视图。

答案 3 :(得分:1)

首先获取存储在数据库中的信息然后进行编辑,你可以这样做:

<?php 
$query = "SELECT * FROM  `blog-posts`  WHERE `id` = 11";
$result = mysql_query($query);
$post = mysql_fetch_array($result);
$title = $post['title'];
$title .= "aapje";
echo $title
?>

然后像平常一样更新您的数据库:

$updateq = "UPDATE `blog-posts`  SET `title` = '$title' WHERE `id` = 11";

答案 4 :(得分:0)

OP没有指定他们正在使用哪个DBMS。以下是Postgres通过向其添加前缀来更新文本列的方法(已在PostgreSQL v11中进行了测试):

UPDATE my_table 
SET column_1  = 'start_text_' || column_1
WHERE column_1 LIKE 'prefix_%'
;