如何使用最后一个字母数字键作为参考修剪数据

时间:2018-08-23 06:11:32

标签: sql sql-server

需要您在以下方面的帮助:数据修整或获得以下同样显示的结果。我想获取参考的最后一个 - 符号处的数据。

请参见下面的示例。

   FROM                  TO
  +-------------------------------+
  |ABC-1234-AR-R  | ABC-1234-AR   |
  |ABC-1254-AR-IT | ABC-1254-AR   |
  |ABC-1223-AR-LTL| ABC-1223-AR   |
  |ABC-1234-R     | ABC-1234      |
  +-------------------------------+

2 个答案:

答案 0 :(得分:2)

这将为您提供最后一个连字符的索引:

LEN(data) - CHARINDEX('-', REVERSE(data)) + 1

因此足以接收此长度的子字符串:

SELECT
    data,
    SUBSTRING(data, 1, LEN(data) - CHARINDEX('-', REVERSE(data))) AS data_trimmed
FROM yourTable;

enter image description here

Demo

答案 1 :(得分:0)

您还可以结合使用 LEFT CHARINDEX 功能。

查询

select [from], 
left([from], len([from]) - charindex('-', reverse([from]), 1)) as [to]
from [your_table_name];

Find a demo here