insert into t select stuff(col,charindex('/',col,1000,'')) from ta stuff(col,charindex('/',col,1000,''))
declare @s varchar(200) set @s='你们好/OK' select left(@s,charindex('/',@s)-1) as c1 ,right(@s,len(@s)-charindex('/',@s)) as c2/* c1 c2 ------ -------- 你们好 OK */
更正 insert into t select stuff(col,charindex('/',col),1000,'') from ta stuff(col,charindex('/',col),1000,'')
declare @s varchar(200) set @s='你们好/OK' select stuff(@s,charindex('/',@s),1000,'') as c2/* c2 ------------ 你们好 */
declare @s varchar(200) set @s='你们好/OK' select PARSENAME(replace(@s,'/','.'),2) as c1, PARSENAME(replace(@s,'/','.'),1) as c2 /* c1 c2 ------ -------- 你们好 OK */
select substring('你们好/OK',1,charindex('/','你们好/OK')-1),substring('你们好/OK',charindex('/','你们好/OK')+1,len('你们好/OK'))------------- 你们好 OK
再补充问一下 如果是"你们好/OK/GOOD" 怎么取呢? left()是什么意思?
LEFT 返回从字符串左边开始指定个数的字符。语法 LEFT ( character_expression , integer_expression ) 参数 character_expression字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐式地转换为 varchar 的数据类型。否则,请使用 CAST 函数显式转换 character_expression。integer_expression是正整数。如果 integer_expression 为负,则返回空字符串。返回类型 varchar
set @str = '你们好/OK'select 前 = left(@str , charindex('/',@str) - 1),
后 = substring(@str , charindex('/',@str) + 1, len(@str))/*
前 后
-------------------- --------------------
你们好 OK(所影响的行数为 1 行)
*/
select stuff(col,charindex('/',col,1000,'')) from ta
stuff(col,charindex('/',col,1000,''))
set @s='你们好/OK'
select left(@s,charindex('/',@s)-1) as c1 ,right(@s,len(@s)-charindex('/',@s)) as c2/*
c1 c2
------ --------
你们好 OK
*/
更正
insert into t
select stuff(col,charindex('/',col),1000,'') from ta
stuff(col,charindex('/',col),1000,'')
set @s='你们好/OK'
select stuff(@s,charindex('/',@s),1000,'') as c2/*
c2
------------
你们好
*/
set @s='你们好/OK'
select PARSENAME(replace(@s,'/','.'),2) as c1,
PARSENAME(replace(@s,'/','.'),1) as c2
/*
c1 c2
------ --------
你们好 OK
*/
你们好 OK
返回从字符串左边开始指定个数的字符。语法
LEFT ( character_expression , integer_expression ) 参数
character_expression字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐式地转换为 varchar 的数据类型。否则,请使用 CAST 函数显式转换 character_expression。integer_expression是正整数。如果 integer_expression 为负,则返回空字符串。返回类型
varchar