重命名SQL Server 2005行值

时间:2014-08-25 12:03:54

标签: sql sql-server rename sql-server-2005-express

我想在我的桌子上重命名几个值。

我只想在我的数据库中的表的一列中重命名多行:

SJ.10.06.000001
SJ.10.06.000002
SJ.10.06.000003
SA.10.06.000001
SB.10.06.000002

等进入此值:

SJ.09.06.000001
SJ.09.06.000002
SJ.09.06.000003
SA.09.06.000001
SB.09.06.000002

我的SQL:

Update dbo.Deposito 
set nomor sj.09... 
where no rekening sj.10...

我得到了这个:

Update dbo.Deposito 
set nomor sj.09... 
where no rekening sj.10...

错误

  

[Err] 42000 - [SQL Server]'sj'附近的语法不正确。

2 个答案:

答案 0 :(得分:1)

试试这个......

UPDATE dbo.Deposito 
 SET nomor =  REPLACE(nomor, '.10.', '.09.')
WHERE SUBSTRING(nomor, 4, 2) = '10'

答案 1 :(得分:0)

我认为你也可以用子字符串来做这件事,但我记不起正确的语法,所以我认为你应该试试这个。

它会根据表格中的第3个和第4个字符更新值,因此如果您追求的是它,那么它会交换10到9个。

有很多方法可以实现这一点,它只是其中之一。

<强>更新

我已经在本地进行了测试,但它确实有效。

UPDATE
    dbo.Deposito
SET
    nomor = REPLACE(nomor,'.10.','.09.')
WHERE
    substring(nomor,4,2) = '10'