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

Ken*_*uck 2 sql t-sql sql-server sql-server-2008

我正在尝试更新我的sql server 2008 r2 web版数据库中的行.我需要使用已经在行中并且连续的字段?该字段成为同一行中另一个字段中的字符串.

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

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

任何帮助是极大的赞赏.

肯

Bob*_*ale 6

假设桌子被称为照片

update photos set photoname = 'photo' + mIsnumber + '-01.jpg'
Run Code Online (Sandbox Code Playgroud)

如果misnumber不是varchar,你可以做

update photos set photoname = 'photo' + cast(mIsnumber as varchar(10)) + '-01.jpg'
Run Code Online (Sandbox Code Playgroud)

如果misnumber为null,则结果为null,因此可能为null

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

如果要过滤更新的记录,还可以添加where子句.

此外,如果总是如此,您可以查看使用视图来检索数据而不是将其存储在表中,或者使用表中的计算字段.