关于sqlserver的字符串长度和截取问题

realnottrue 2011-06-03 11:30:43

现在有一个需要截取的字符串 @a = 'abc;张三;李四;'
我需要把最后的;截取掉,变成'abc;张三;李四'。

substring(@a,0,?)
?应该填什么?

本来应该是类似于java或。net的 a.length之类的方法
但在sqlserver中怎么写呢?
千万别回
substring(@a,0,6);这种死数字的方法,因为这个字符串很长的,不可能去算。。

求教
...全文
1011 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
FlySQL 2011-06-03
  • 打赏
  • 举报
回复
select substring(col,charindex('某字符串',col),长度) from tb
realnottrue 2011-06-03
  • 打赏
  • 举报
回复
好吧,问过一个问题

是这样的

我从数据库查询出来一个字符串,但这个字符串内容很长
于是我在查询分析器里拖到底都显示不完全,看不到后面那部分内容,请问咋办呢?
又不想重新建个表把,数据插到某个字段去

好吧,说了这么多,其实我就想知道,有没有只看某字符串后面几十位或者在一个范围位数内的函数?
andysun88 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 flysql 的回复:]
SQL code
substring(@a,1,len(@a)-1)
[/Quote]
+1
飘零一叶 2011-06-03
  • 打赏
  • 举报
回复
left(@a,len(@a)-1)
FlySQL 2011-06-03
  • 打赏
  • 举报
回复
--or
left(@a,len(@a)-1
)
FlySQL 2011-06-03
  • 打赏
  • 举报
回复
substring(@a,1,len(@a)-1)
realnottrue 2011-06-03
  • 打赏
  • 举报
回复
基础不过关傻x了len=。=
Billy 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 realnottrue 的回复:]
好吧,问过一个问题

是这样的

我从数据库查询出来一个字符串,但这个字符串内容很长
于是我在查询分析器里拖到底都显示不完全,看不到后面那部分内容,请问咋办呢?
又不想重新建个表把,数据插到某个字段去

好吧,说了这么多,其实我就想知道,有没有只看某字符串后面几十位或者在一个范围位数内的函数?
[/Quote]

declare @s varchar(8000)
select @s=col from tb
print @s
君_洛洛 2011-06-03
  • 打赏
  • 举报
回复
declare @s nvarchar(30)
set @s='abc;张三;李四;wangwu;aa;bb;你好;'

SELECT SUBSTRING(@S,CHARINDEX(';'+'ABC'+';',';'+@S+';')+LEN('ABC'),CHARINDEX(';'+'李四'+';',';'+@S+';')-CHARINDEX(';'+'ABC'+';',';'+@S+';')-LEN('ABC'))
/*
------------------------------
;张三;

(所影响的行数为 1 行)
realnottrue 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 flysql 的回复:]
SQL code
select substring(col,charindex('某字符串',col),长度) from tb
[/Quote]

能否给个详细点的?
比如说一个字符串为成'abc;张三;李四;wangwu;aa;bb;你好;'

现在比如说要查看从开头abc到李四的范围
或者wangwu到你好的范围
或者张三到bb的范围

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧