-2

如何获取列的最后一个字符并将其转换为数字?示例:

000000000017A
000000000038B
000000000431C

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

结果:
171
382
4313

4

3 回答 3

2

的 ASCII 值为A65。因此,您可以通过从其 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

SQL Fiddle 上的实时示例。

于 2013-03-12T19:04:26.443 回答
0

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

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

于 2013-03-12T19:01:11.697 回答
0

用下面的 SQL 语句弄清楚了。要在一列中更改多个条件替换,我使用了:

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

希望这可以帮助希望替换语句的人。

于 2013-03-12T20:10:27.730 回答