sql获取指定字符串之间的字符串

2012-07:电表(00300):单价[¥1.30]*用量[9000.00]
2012-07:电表(100114):单价[¥1.30]*用量[9000.00]
上面是2条数据,我要获取没条数据的单价 1.30, 和那个用量 9000,
sqlserver如何获取这两个字符串,

可以这样,如为字段则用字段名替换@str即可
declare @str varchar(50)
set @str = '2012-07:电表(00300):单价[¥1.30]*用量[9000.00]';
select substring(@str,charindex('¥',@str,1)+ 1,charindex(']',@str,charindex('¥',@str,1)) - charindex('¥',@str,1) -1) as 单价,
substring(@str,charindex('用量[',@str,1)+ 3,len(@str) - charindex('用量[',@str,1) -3) as 用量;
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-25
正则表达式,以¥开头和小数点后有两个数字的数字提取。
第2个回答  2012-10-23
你为什么不用程序获得?

如何通过SQL截取指定字段某一个字符的前面或后面的字符串?
针对SQL Server的实现:当需截取字符串"OPE-CZ-108-003-SE71.2"中的"."字符前面的字符串时,可以采用如下SQL语句。结果为"OPE-CZ-108-003-SE71",取值范围从字段第一位置开始,至"."字符前一个位置结束。对于截取"."字符后面的字符串,同样使用SQL Server,只需调整SQL语句,从"."字符后一位...

sql 如何截取一个字段里某一字符串中间的字符?
--定义参数 create table #a (string varchar(max))declare @sql varchar(max)declare @a varchar(max)select @a ='asdf qwer zxcv 1234 qwer yuchor 3452 qwer abcd 7893'--这个是要查询的字符串 ---查询qwer后面的字符串--- while charindex('qwer',@a)<>0 begin select @a=SUBSTRING (...

sql取字符串中符合指定字符开头指定字符结尾的部分字符串有多少?
如果你想要在一个SQL查询中,找出在特定字段值中,符合指定字符开头和指定字符结尾的部分字符串,可以使用 SUBSTRING_INDEX 函数和 LOCATE 函数。下面是一个具体的例子。SELECT SUBSTRING(script,LOCATE('\/*', script),LOCATE('*\/', script) - LOCATE('\/*', script) + 2)FROM table_name;这个查询...

sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗
sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。如test表中有如下数据,要求截图str字段中逗号后边的内容。可用如下语句:1 select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;结果截图:charindex函数说明:语法:CH...

sql如何获取字符串中的指定字符
from test_int t;4、编写sql,获取字符串中的指定字符;select t.*,case when instr(value, 'd=') = 0 then null else substr(value,instr(value, 'd='),case when instr(value, '&') = 0 then 10 else instr(value, '&') - instr(value, 'd=')end)end a from test_int t;

SQL怎么取得某个栏位中符号之间的数据?
declare @str varchar(50); -- 截取前的字符串 declare @delimit varchar(1); -- 分隔符 set @str='mgmjs1_Apv:125712441117929:30';set @delimit=':';select SUBSTRING(@str,CHARINDEX(@delimit,@str)+1,CHARINDEX(@delimit,@str,CHARINDEX(@delimit,@str)+1)-CHARINDEX(@delimit,@...

sql获取指定字符串之间的字符串
可以这样,如为字段则用字段名替换@str即可 declare @str varchar(50)set @str = '2012-07:电表(00300):单价[¥1.30]*用量[9000.00]';select substring(@str,charindex('¥',@str,1)+ 1,charindex(']',@str,charindex('¥',@str,1)) - charindex('¥',@str,1) -1) as 单价,subs...

sql语句,能够截取指定字段后面的一个字符串吗?
可以的,需要用到charindex函数和substring函数。CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。substring public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。

如何用SQL 语句截取两个固定字符之间的字符串?
select substring(字符串,1,PATINDEX(<'%字符串%'>,'丘')-1) as 字符1 ,substring(字符串,PATINDEX(<'%字符串%'>,'丘')+1,PATINDEX(<'%字符串%'>,'栋')-PATINDEX(<'%字符串%'>,'丘')+1) as 字符2 from 表名

sql语句如何获取两个固定字符串中间的不定长度字符串?
unique_lele 采纳率:58% 来自团队:sql语句 擅长: 数据库DB 其他回答 1)用两个charindex函数即可获取两个位置,然后用substring2)不建议采用这种数据存储方式,建议变更为两个字段,固话、手机。 vcsuzhou | 发布于2013-08-15 举报| 评论 0 0 为您推荐: sql语句面试题及答案 mysql sql分解字符串 sql...

相似回答