SQL更新列

时间:2013-03-12 18:57:17

标签: sql sql-update

如何获取列的最后一个字符并将其转换为数字?示例:
栏栏号000000000017A号000000000038B
000000000431C

如果字母等于:﹞,则需要将最后一个字母更改为以下字母:
1
B = 2
C = 3

结果:
171
382
4313

3 个答案:

答案 0 :(得分:2)

A的ASCII值为65.因此,您可以通过从其ASCII值中减去64来将C翻译为3

select  cast(
            left(col1, len(col1) - 1) +
            cast(ascii(upper(right(col1, 1))) - 64 as char(1))
            as int)
from    Table1

Live example at SQL Fiddle.

答案 1 :(得分:0)

我认为你需要使用SQL的REPLACE函数

http://msdn.microsoft.com/en-en/library/ms186862.aspx

答案 2 :(得分:0)

使用以下SQL语句进行计算。要在一列中更改多个标准替换,我使用了:

SELECT REPLACE(REPLACE(REPLACE(Prev_Month_Vol,'A','1'), 'B', '2'), 'C', '3')
FROM table1

希望这可以帮助那些想要替换陈述的人。