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
我有其余的查询,它工作正常;我只需要添加这个额外的连接。请帮忙!任何帮助是极大的赞赏。谢谢
REPLACE(REPLACE(cavity,'H0',''),'H','')
第一个删除 H0:
REPLACE(cavity,'H0','')
然后第二个替换所有剩余的 H:
REPLACE(output_of_previous,'H','')