从选择查询的列数据中删除特定字符

use*_*816 5 sql join sql-server-2005 trim

我一直在寻找解决我的问题的方法,尽管我找到了一些可能有帮助的方法,但我不确定这是否是满足我需要的正确方法。请记住,我正在学习 SQL,而且对 SQL 还很陌生。但我有两个表想要使用内部联接进行查询。

两个表中都有一个列CAVITY,但它们以不同的格式保存值。一个表保存的值为 H02,另一表保存的值为 2。

我想使用 H02 格式内部联接此列,但不想更新将值保存为单个数字的表(用于数据输入目的)。例如,如果一个表列有 H02,另一个表列有 2,我希望将其连接起来。如果一个表有 H13,另一个表有 13,我也希望它是一个联接。所以基本上,我想删除 H 和 0(但前提是 H 后面有一个 0)。除非有办法做相反的事情并添加另一个表的结果中的 H / H0 。

example data
table1.cavity   table2.cavity
     H01      =    1
     H02      =    2
     H10      =    10
     H12      =    12
Run Code Online (Sandbox Code Playgroud)

我的查询结果是不是H0版本对我来说并不重要;我只需要连接即可工作;我可以适应最终的任何一个结果。

我正在使用 SQL Server 2005

我有其余的查询,它工作正常;我只需要添加这个额外的连接。请帮忙!任何帮助是极大的赞赏。谢谢

Mit*_*ell 4

REPLACE(REPLACE(cavity,'H0',''),'H','')

第一个删除 H0:

REPLACE(cavity,'H0','')

然后第二个替换所有剩余的 H:

REPLACE(output_of_previous,'H','')