2

I am using SQL Server 2008 R2

I have a table ITEM:

NO_ITEM    LABEL 
121_54_7   aaaaaa
32_5       jjjjjj
6          88888
9987_54_4  oooooo

What I want:

NO_ITEM    LABEL 
121        aaaaaa
32         jjjjjj
6          88888
9987       oooooo

Just select the first data by omitting the rest after _.

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
user1958628
  • 409
  • 4
  • 7
  • 18
  • http://stackoverflow.com/questions/8299176/how-to-select-only-the-characters-appearing-before-a-specific-symbol-in-a-sql-se – mjroodt Aug 29 '13 at 15:11

1 Answers1

3

Sure, you could do something like this:

SELECT SUBSTRING(NO_ITEM, 1, CHARINDEX('_', NO_ITEM + '_')) AS NO_ITEM,
    LABEL,
FROM table
Mike Perrenoud
  • 66,820
  • 29
  • 157
  • 232
  • 2
    You need to pad; `SUBSTRING(NO_ITEM, 0, CHARINDEX('_', NO_ITEM + '_'))` for cases when there is no `_` – Alex K. Aug 29 '13 at 15:13