请问sqlserver怎么查询字段(卷号)中第2个指定字符(-)后面的字符串?

Snipaste_2022-04-07_10-54-00.png

请问sql server 怎么查询卷号中第2个-后面的6位数(日期),竟然没百度到....o(╥﹏╥)o

FineReport 牛气冲天的哇 发布于 2022-4-7 10:55
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-4-7 11:00

with s as (

select 'p3-0-200321-b002' [a]

union all

select 'p3-01-200321-b006' [a]

union all

select 'p3-04-200321-b005' [a]

)

select PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9]%',a),a,SUBSTRING(a,PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9]%',a),6) from s

image.png

最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-7 11:04

select 

t.tt,

substring(substring(t.tt,charindex('-',t.tt)+1,100),charindex('-',substring(t.tt,charindex('-',t.tt)+1,100))+1,6) as t2 from (

select 'p3-0-202006-B001' as tt

) t

image.png

  • 2关注人数
  • 333浏览人数
  • 最后回答于:2022-4-7 11:04
    请选择关闭问题的原因
    确定 取消
    返回顶部