如何拆分包含组合文本和数字的列?

时间:2015-12-22 19:06:25

标签: sql sql-server

我在表格中有一个列,其中包含name50,somename20,other40,some65等数据。

我想拆分文本部分和数字部分,并将数字部分添加到另一个包含空列的表中,该列包含已包含文本部分的列。现在我将数字部分添加到此表中的相应名称部分。

例如,在第二个表中,我有一个名为Textpart的列,其中第一个表列中的文本部分相同(我要拆分),所有名称随机重复几次。还有另一个名为Numberpart的空洞,它是空的。

现在我必须用第一个表中的相应数字填充该numberpart。

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用TOsubstring的组合。

首先提取数字部分。要使文本部分只是patindex以前找到的带有空字符串的数字部分。

replace

select substring(data, patindex('%[0-9]%', data), len(data)) as numeric_part, replace(data, substring(data, patindex('%[0-9]%', data), len(data)), '') as text_part from tablename 另一个包含数字部分的表,请使用text_part列update

请注意,只有在数字结束时才能正常使用。