从注释文本字段中提取重量的SQL查询:例如249kg
我想从SQLServer中的注释字段中提取一些数字和文本 注释字段显示(重量:249kg),但我只需要249kg 什么查询可以提取此信息,因为它需要“%[0-9]”多一点从注释文本字段中提取重量的SQL查询:例如249kg,sql,sql-server,regex,Sql,Sql Server,Regex,我想从SQLServer中的注释字段中提取一些数字和文本 注释字段显示(重量:249kg),但我只需要249kg 什么查询可以提取此信息,因为它需要“%[0-9]”多一点 谢谢您可以使用子字符串和CHARINDEX,它看起来有点凌乱,但应该可以工作 DECLARE @table TABLE(value1 VARCHAR(100)); INSERT INTO @table VALUES('Weight: 249KG'); SELECT value1 FROM @table; SELECT
谢谢您可以使用
子字符串
和CHARINDEX
,它看起来有点凌乱,但应该可以工作
DECLARE @table TABLE(value1 VARCHAR(100));
INSERT INTO @table
VALUES('Weight: 249KG');
SELECT value1
FROM @table;
SELECT SUBSTRING
(value1, CHARINDEX
(':', value1)+1, CHARINDEX('KG', value1)-CHARINDEX(':', value1)-1) AS value1
FROM @table;
返回:
重量:249KG
和
249
编辑:
我错过了read,我以为你只是想要后面的数字而不是单位,即249
而不是249KG
。您可以使用REPLACE
进行类似操作:
SELECT REPLACE(value1,'Weight: ','') FROM @table
对于确切的字符串,在T-SQL中,您可以使用
REPLACE(字段,'Weight:','')
,但我猜还有更多的排列。为什么不向我们展示一些其他数据库,并告诉我们什么类型的数据库(SQL Server?Oracle?)(1)用您正在使用的数据库标记您的问题。(2) 提供完整注释字符串的几个示例。(3) 解释一下如果没有权重的话该怎么做,如果有多个权重的话。这似乎是可行的,目前我在组合查询时遇到了一些问题。这里是我正在选择的表,它是dbo.JobOper.CommentText,我需要从SELECT TOP(100)PERCENT dbo.JobOper.JobNum、dbo.laborardtl.ClockInDate、dbo.JobOper.CommentText、dbo.JobOper.OpCode、dbo.JobOper.QtyCompleted、,dbo.jobooper.JobComplete FROM dbo.laborardtl RIGHT OUTER JOIN dbo.laborardtl.Company=dbo.jobooper.Company和dbo.laborardtl.JobNum=dbo.jobooper.JobNum其中(dbo.JobOper.OpCode,如'QF saw')按dbo.jobooper.JobNumwhy使用前100%的顺序?你想用哪一种?子字符串或替换?我希望将其拉入一个视图,而不是替换或编辑任何内容。将您的选择更改为replace(dbo.JobOper.CommentText,'Weight:',''),
或substring(dbo.JobOper.CommentText,CHARINDEX(':',dbo.JobOper.CommentText)+1,CHARINDEX('KG',dbo.JobOper.CommentText)-CHARINDEX(“:”,dbo.JobOper.CommentText)-1)作为CommentText,
,具体取决于要使用的方法