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

qq_39112364 2017-12-11 02:55:48
查A表中字段B的值000-000-00000.abc中第二个-和.中间数据的SQL语句怎么写
...全文
298 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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 行受影响)

662

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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