2024-09-30 07:23:12 发布
网友
我的SQL Server中有一列,如下所示:
Column 1.1.2 Name1 1.2.3 Name2 1.1 Name3 ...
因此,我尝试使用UPDATE语句删除名称前面的这些数字,但到目前为止,我找不到一个正确的synthax来完成这项工作。你知道吗
不过,在数据帧中导入表之后,我可以用python来完成。它看起来像这样replace(r'^([0-9]*.[0-9]*.?[0-9]*?)\s\b', "")。你知道吗
replace(r'^([0-9]*.[0-9]*.?[0-9]*?)\s\b', "")
所以我有两个问题:
因为数字后面跟有一个空格,所以可以删除第一个空格之前(包括第一个空格)的所有内容,而无需使用正则表达式:
DROP TABLE IF EXISTS #ToRemoveNumbers; CREATE TABLE #ToRemoveNumbers([Column] VARCHAR(1000)); INSERT INTO #ToRemoveNumbers([Column]) VALUES ('1.1.2 Name1'), ('1.2.3 Name2'), ('1.1 Name3' ); remove the numbers: UPDATE #ToRemoveNumbers SET [Column] = SUBSTRING ( [Column], CHARINDEX(' ', [Column]) + 1, 2147483647 ) ;
2147483647是int的最大值,因此保证字符串小于int。你知道吗
如果数字部分的长度始终为5个字符和1个空格,则Right(Column,len(Column)-6)应该起作用。你知道吗
因为数字后面跟有一个空格,所以可以删除第一个空格之前(包括第一个空格)的所有内容,而无需使用正则表达式:
2147483647是int的最大值,因此保证字符串小于int。你知道吗
如果数字部分的长度始终为5个字符和1个空格,则Right(Column,len(Column)-6)应该起作用。你知道吗
相关问题 更多 >
编程相关推荐