SQL函数(字符串选择)

时间:2017-10-23 07:02:50

标签: sql sql-server

I / P:P-2120-001-A10我需要O / p作为P-2120使用SQL Server功能。  这是给定的字符串'P-2120-001-A10',我需要从第二个' - '符号左边的给定字符串中选择数据,即'P-2120',它应该动态选择

2 个答案:

答案 0 :(得分:0)

虽然不清楚您要求的内容,但会将I/P : P-2120-001-A10转换为O/p As P-2120

with sample as (
    select 'I/P : P-2120-001-A10' as astring
    )

select
    substring(astring,7,6)             AS guess1
  , 'O/p As ' + substring(astring,7,6) AS guess2
from sample

答案 1 :(得分:0)

编辑问题后,您可以使用SUBSTRING& CHARINDEX从第二个字符串左侧的字符串中读取数据的功能 - '符号动态。

SELECT SUBSTRING(<I/P>, 1, CHARINDEX('-', <I/P>)-1)+'-'+SUBSTRING(SUBSTRING(<I/P>, CHARINDEX('-', <I/P>)+1, LEN(<I/P>)), 1, CHARINDEX('-', SUBSTRING(<I/P>, CHARINDEX('-', <I/P>)+1, LEN(<I/P>)))-1);

输出

P-2120