sql - Tsql,有没有办法使用行中的现有字段作为同一行中另一个字段中字符串的一部分来更新行?

标签 sql sql-server sql-server-2008 tsql

我正在尝试更新我的 sql server 2008 r2 网络版数据库中的行。我需要使用一个已经在行中的字段并连接?该字段转换为同一行中另一个字段中的字符串。

这是一个房地产数据库,我有一个名为 mlsnumber 的列,我需要将 mlsnumber 字段用作另一列中字符串的一部分,同一行称为 photoname。

在这种情况下 mlsnumber =1234567,我需要添加/更新行 photoname=photo+mlsnumber+'-01.jpg' (photo1234567-01.jpg)

非常感谢任何帮助。

最佳答案

假设表叫做照片

update photos set photoname = 'photo' + mIsnumber + '-01.jpg'

如果 misnumber 不是 varchar 你可以做

update photos set photoname = 'photo' + cast(mIsnumber as varchar(10)) + '-01.jpg'

如果 misnumber 为 null 那么结果为 null 所以它可能是

update photos set photoname = 'photo' + coalesce(cast(mIsnumber as varchar(10)),'') + '-01.jpg'

如果您希望过滤您更新的记录,您还可以添加一个 where 子句。

此外,如果情况总是如此,您可以考虑使用 View 来检索数据,而不是将数据存储在表中,或者使用表中的计算字段。

关于sql - Tsql,有没有办法使用行中的现有字段作为同一行中另一个字段中字符串的一部分来更新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418971/

相关文章:

php - 如何使用PHP将日期输入到mysql数据库中

sql - 跨服务器SQL

sql-server - 内联表值 UDF 能否优于 SELECT 列列表中的等效标量 UDF?

c++ - 在 C++ 中的 SQL Server 上运行选择查询的最快方法是什么?

sql - POSTGRESQL,无子查询 : subquery in FROM must have an alias

mysql - 如何在sql查询中使用min作为条件

mysql - 使用带有 UTF8 的 VARCHAR 的 SQL 表(关于多字节字符长度)

sql - MSSQL循环遍历表列表来执行alter语句

sql-server-2008 - 转换和连接

sql - 如何在没有管理员的情况下获取 SQL Server 实例上的数据库列表?