在某个字符后查找不同的记录

时间:2018-03-23 14:32:32

标签: sql-server tsql

如果我在SQL Server中有一个名为dbo.cls_members的表,并且有一个名为meb_refs的列包含如下所示的引用号

  

" A03LV4COOD17JE- 取值 N1AM"

如何在" - "之后找到DISTINCT第一个字符的记录。符号。 ?

例如,在上面的参考文献中,在" - "之后的粗体" S"

4 个答案:

答案 0 :(得分:0)

...也许

SELECT DISTINCT LEFT(STUFF([Column],1,CHARINDEX('-',[Column]),''),1)
FROM YourTable;

答案 1 :(得分:0)

运行以下查询:

  SELECT DISTINCT
      [Letter]
    FROM
    (
     SELECT 
         column_name [Code] --Step One
          ,RIGHT(column_name, CHARINDEX('-', REVERSE(column_name))-1) [Part after -]
          ,LEFT(RIGHT(column_name, CHARINDEX('-', REVERSE(column_name))-1), 1) [Letter]
       FROM table_name
    ) T

答案 2 :(得分:0)

这很简单:

SELECT DISTINCT SUBSTRING(t.col, CHARINDEX('-',t.col)+1, 1)
FROM <yourtable> t;

答案 3 :(得分:0)

试试这个:

DECLARE @nar NVARCHAR(max) = 'A03LV4COOD17JE-SN1AM'
SELECT RIGHT(left(REVERSE(@nar), CHARINDEX('-',REVERSE(@nar))-1),1)

或者,您可以尝试:

SELECT * from table
where RIGHT(left(REVERSE(Columnname), CHARINDEX('-',REVERSE(Columnname))-1),1)
in ('S')