2016-01-30 39 views
1

我在我的密钥列中有字母A到Z,并且想要更新它们并设置数字, 例如:A = 001和B = 002等等。 如何在sql查询中编写逻辑。将列值字母更新为数字

+0

'REPLACE(string_expression,string_pattern,string_replacement)'更新X设置栏=替换(列, 'A', '001')... https://msdn.microsoft.com/en-AU/library/ms186862.aspx –

回答

2

你可以使用ASCII T-SQL功能,右垫离开它:

UPDATE MyTable 
SET [KeyCol] = RIGHT('000' + CONVERT(varchar(3), ASCII([keyCol]) - ASCII('A') + 1), 3) 
+0

没有免责声明需要,它的工作=) –

+0

@TT,谢谢你测试它。免除责任 –

+0

[SQL Fiddle](http://sqlfiddle.com/)适用于没有SQL Server的情况。 –