问题描述
CONVERT(
INT,
(REPLACE(
SUBSTRING(
nome,
(
PATINDEX(
'%[0-9]%',
REPLACE(
REPLACE(
nome,
'1/2',
''
),
'1/4',
''
)
)
),
4
),
'G',
''
))) as pesototal
这样解决了问题,谢谢。
解决方法
我想从此查询中提取特定的数字值…
列:名称此示例有四行:
- 1/2产品1 some_description 1200 GR更多数据…(UND)
- 1/4 Product2 some_description 2400G更多数据(KG更多数据)
- 商品3 some_description 2200 GRS更多数据…
- 1/4产品4 some_description 1800GR更多数据UND …
我只想要整数值。我想要查询:
- 1200
- 2400
- 2200
- 1800
模式是:
- [0-9] {4} G
- [0-9] {4} GR
- [0-9] {4} GRS
如何在SQL查询上使用此正则表达式来解析属性值?
SELECT FROM myTable SUBSTRING(name,(PATINDEX('%[0-9]%',[name])),4) as peso
这会提取一些值,但顺序不正确…我认为我可以将LEFT的长度应用到整数值,但是我不知道如何解决它。