美好的一天
我有:
TableX
Column1
John Smith 007
Tera Name 111
Bob Eva 554
我需要
TableX
Column1 Column2
John Smith 007 007
Tera Name 111 111
Bob Eva 554 554
我创建了代码但没有工作。我认为必须加入才能识别专栏。
ALTER TABLE [dbo].[TableX]
ADD Column2 varchar (50);
UPDATE [dbo].[TableX] SET
Column1=Column2
WHERE select SUBSTRING([Column1], PATINDEX('%[0-9]%', [Column1]
), LEN([column1]))
感谢您的帮助
答案 0 :(得分:1)
如果要提取的数字总是在最后,那么您可以使用:
PATINDEX('%[^0-9]%', REVERSE(Column1))
从结尾开始获取第一个不是数字的字符的索引。
因此,要提取您可以使用的数字:
RIGHT(Column1, PATINDEX('%[^0-9]%', REVERSE(Column1)) - 1)
因此,UPDATE
将如下所示:
UPDATE [dbo].[TableX]
SET Column2 = RIGHT(Column1, PATINDEX('%[^0-9]%', REVERSE(Column1)) - 1)
答案 1 :(得分:0)
假设所需的部件长度= 3
UPDATE [dbo].[TableX] SET
column2 = RTRIM(right(column1, CHARINDEX('/', column1) +3))