Sql 提取两个特定varchar之间的值
我想从SQL Server 2014中的Sql 提取两个特定varchar之间的值,sql,sql-server,Sql,Sql Server,我想从SQL Server 2014中的varchar中提取数值 XXXX 0.5Kg我想退回0.5公斤 XXX 25YY 1.25Kg我想退1.25 我想要左边最后一个空格和Kg 谢谢你能做的 select replace(right(str, charindex(' ',reverse(str))),'Kg','') from your_table; 首先按字符串的相反顺序找出第一个空格,然后从该空格中断开字符串。替换“”中的“kg”以获取所需的值。使用多个字符串测试结果。您可以使用SQL
varchar
中提取数值
XXXX 0.5Kg
我想退回0.5公斤XXX 25YY 1.25Kg
我想退1.25
我想要左边最后一个空格和Kg
谢谢你能做的
select replace(right(str, charindex(' ',reverse(str))),'Kg','')
from your_table;
首先按字符串的相反顺序找出第一个空格,然后从该空格中断开字符串。替换“”中的“kg”以获取所需的值。使用多个字符串测试结果。您可以使用SQL中的RIGHT string函数从字符串中获取特定部分。请参阅口头解释,这通常是有帮助的。你想让我也口头解释解决方案吗?
DECLARE @string as VARCHAR(MAX) = 'XXX 25YY 1.25Kg'
DECLARE @string_ as VARCHAR(MAX) = 'XXXX 0.5Kg'
SELECT REPLACE(RIGHT(@string, CHARINDEX(' ',REVERSE(@string))),'Kg','')
SELECT REPLACE(RIGHT(@string_, CHARINDEX(' ',REVERSE(@string_))),'Kg','')