用数字替换非数字字符

时间:2011-11-16 11:05:45

标签: sql sql-server sql-server-2008 tsql

我有一个看起来像这样的专栏:

A栏

1A 2B 5Z

基本上,我需要用字母表中的相应数字替换字母部分。像:

A栏

1.1 2.2 5.26

我正在考虑创建一个“查找”表来检索相应的字母数字,但是想看看是否有更优雅/更有效的方式?

非常感谢

1 个答案:

答案 0 :(得分:0)

只需给你一个算法,将字符转换为数字,然后让列中的字符解析为:

DECLARE @offset int
SET @offset = 64
DECLARE @character char    

-- OUTPUT | A | 1 |
SET @character = 'A'
SELECT @character, ASCII(@character) - @offset

-- OUTPUT | Z | 26 |
SET @character = 'Z'
SELECT @character, ASCII(@character) - @offset