qq_39856921
2019-02-22 14:56
采纳率: 50%
浏览 3.5k

请教下,SQL取两个字符之间的数据

图片说明
我想取这个区间的数据, 就是第4个-(横杠)和第5个-(横杠)之间的数据,SQL Server中应该怎么写,然后取出来,加上后面两个字段,相同的数据只取第一条, 谢谢了

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • ~沉O淀~ 2019-02-22 15:27

    with
    test(col) as
    (select '206444-224821-6398873-17662358-2383908-1-6398973' from dual union all
    select '136444-224521-6393473-17662358-2356908-2-6394573' from dual union all
    select '266444-224898-6124573-13462358-2983908-3-6098973' from dual)
    select distinct col,substr(col,instr(col,'-',1,4)+1,instr(col,'-',1,5)-instr(col,'-',1,4)-1) from test;

    206444-224821-6398873-17662358-2383908-1-6398973     2383908
    136444-224521-6393473-17662358-2356908-2-6394573     2356908
    266444-224898-6124573-13462358-2983908-3-6098973     2983908
    
    评论
    解决 无用
    打赏 举报
  • 秦雅酒食 2019-02-22 15:53

    select (SUBSTRING(Extension,31,7)+DoctorID+ CONVERT(varchar,DateRequire,102)) as strinfo from 表名
    去重自己弄下

    评论
    解决 无用
    打赏 举报
  • 江宇ABC 2019-02-22 17:43

    如果是labview与SQL相结合 labview强大的字符处理功能,完全可以处理

    评论
    解决 无用
    打赏 举报
  • l_w610 2019-02-23 15:55

    方法很多
    1、用字符串截取charindex
    2、表循环截取,需要数字基表
    3、如果长多固定,建议可以直接根据固定数字截取

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题