查A表中字段B的值000-000-00000.abc中第二个-和.中间数据的SQL语句怎么写

qq_39112364 2017-12-11 02:55:48
查A表中字段B的值000-000-00000.abc中第二个-和.中间数据的SQL语句怎么写
...全文
274 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
吉普赛的歌 2017-12-11
DECLARE @a TABLE (B NVARCHAR(100))
 INSERT INTO @a VALUES ('000-000-00000.abc')
 SELECT PARSENAME(replace(b,'-','.'),2) AS r FROM @a
 /*
 r
00000
 */
  • 打赏
  • 举报
回复
薛定谔的DBA 2017-12-11
declare @aa varchar(50) = '000-000-00000.abc'
select PARSENAME(REPLACE(@aa,'-','.'),2),PARSENAME(REPLACE(@aa,'-','.'),3) --可将字符连接起来
  • 打赏
  • 举报
回复
听雨停了 2017-12-11

DECLARE @char VARCHAR(20)
SET @char = '000-000-00000.abc'
SELECT SUBSTRING(
           @char,
           CHARINDEX('-', SUBSTRING(@char, CHARINDEX('-', @char) + 1, 1000)) + CHARINDEX('-', @char)+1,	--开始截取位置
           CHARINDEX('.', @char) -(CHARINDEX('-', SUBSTRING(@char, CHARINDEX('-', @char) + 1, 1000))+ CHARINDEX('-', @char)+1)	--截取长度
)


--------------------
00000

(1 行受影响)
  • 打赏
  • 举报
回复
相关推荐
发帖
community_281
加入

318

社区成员

申请成为版主
帖子事件
创建了帖子
2017-12-11 02:55
社区公告
暂无公告