得到特定字符后面的所有字符 105.13-158.4类似这种格式取-后面所有字符前后字符数量都不固定 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select substring(col,charindex('-',col) + 1 , len(col)) from tb SELECT RIGHT('105.13-158.4',LEN('105.13-158.4')-CHARINDEX('-','105.13-158.4')) ------------ 158.4(所影响的行数为 1 行) create table tb(col varchar(50))insert into tb values('105.13-158.4') insert into tb values('105.13-158.53') insert into tb values('105.13-158.666')goselect col = substring(col,charindex('-',col) + 1 , len(col)) from tbdrop table tb/*col -------------------------------------------------- 158.4158.53158.666(所影响的行数为 3 行)*/ declare @s varchar(29)set @s='105.13-158.4'select STUFF(@s,1,CHARINDEX('-',@s),'')----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------158.4 create table tb(col varchar(50))insert into tb values('105.13-158.4') insert into tb values('105.13-158.53') insert into tb values('105.13-158.666')go--方法一select col = substring(col,charindex('-',col) + 1 , len(col)) from tb where charindex('-',col) > 0--方法二select col = reverse(left(reverse(col),charindex('-',reverse(col))-1)) from tb where charindex('-',col) > 0drop table tb/*col -------------------------------------------------- 158.4158.53158.666(所影响的行数为 3 行)*/ substring(字段名称,charindex('-',字段名称) + 1 , len(字段名称)) 好像问过了吧stuff + charindex declare @s varchar(20)set @s='105.13-158.4'select substring(@s,charindex('-',@s) + 1 , len(@s)) /*--------------------158.4(1 行受影响)*/ declare @col varchar(15)set @col='105.13-158.4'select substring(@col,CHARINDEX('-',@col)+1,LEN(@col)-CHARINDEX('-',@col)) as col/*col---------------158.4*/ 3q...对SQL里的方法很不熟悉... 头疼了。找不出问题。呼叫支援。 EXECUTE sp_executesql 为什么连着用.只用其中一个不就行了吗?..忘记了.. 修改存储过程,帮帮我呀! 才问完在问 请问DATEADD这个函数是怎么执行的? 已知表名,如何获取该表的依赖表? 谁有ODBC FOR SQL SERVER2000的驱动程序?多谢!(在线等待,立即给分) 一个库中有20个表,整个表中约有40万条记录,数据库文件居然有500多MB,高手说说这会不会是正常的大小? 一個在SQL服務器有關拉取數據的問題 ACCESS数据库遇到损坏后怎么修复? 关于一句SQL语句 关于'索引'的三个菜鸟级问题
------------
158.4(所影响的行数为 1 行)
insert into tb values('105.13-158.4')
insert into tb values('105.13-158.53')
insert into tb values('105.13-158.666')
goselect col = substring(col,charindex('-',col) + 1 , len(col)) from tbdrop table tb
/*col
--------------------------------------------------
158.4
158.53
158.666(所影响的行数为 3 行)*/
set @s='105.13-158.4'
select STUFF(@s,1,CHARINDEX('-',@s),'')
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
158.4
insert into tb values('105.13-158.4')
insert into tb values('105.13-158.53')
insert into tb values('105.13-158.666')
go--方法一
select col = substring(col,charindex('-',col) + 1 , len(col)) from tb where charindex('-',col) > 0--方法二
select col = reverse(left(reverse(col),charindex('-',reverse(col))-1)) from tb where charindex('-',col) > 0drop table tb
/*col
--------------------------------------------------
158.4
158.53
158.666(所影响的行数为 3 行)*/
set @s='105.13-158.4'
select substring(@s,charindex('-',@s) + 1 , len(@s))
/*--------------------
158.4(1 行受影响)*/
declare @col varchar(15)
set @col='105.13-158.4'
select substring(@col,CHARINDEX('-',@col)+1,LEN(@col)-CHARINDEX('-',@col)) as col
/*
col
---------------
158.4
*/
对SQL里的方法很不熟悉...