2013-09-19 8 views
0

У меня есть следующие переменные:SQL SERVER - Использование SUBSTRING

DECLARE @test nvarchar(100) 
SET @test = 'Prodcut A (Avegrage: 1.000)' 

Я хотел бы удалить, если столбец содержит начинается с «(Avegrage) Я уверен, что я должен использовать SUBSTRING и CHARINDEX, но не уверен, ., как кто-то пожалуйста, помогите мне

SELECT @test as product, left(@test, charindex('(Avegrage', @test) - 2) AS LeftString 


product      Product Name 
Prodcut A (Avegrage: 1.000) Prodcut A 
+0

Знаете ли вы опечатки? – Kuzgun

+4

Удалите что с того места? –

+0

То, что вы написали, работает, пока слово, которое вы ищете, находится в переменной @test. Вы должны использовать «IF charindex» («Avegrage», @test)> 0 ... », прежде чем обрезать лишний барахл. – Steve

ответ

2

Попробуйте это (для SQL-сервера):

SELECT <something> 
FROM <sometable> 
WHERE <something> like 'Avegrage%' 

это будет выглядеть Ф.О. r столбцы, которые имеют «Avegrage» как самую левую часть строки. «%» Является подстановочным символом.

1

Вы пытаетесь использовать TRIM или ELIMINATE? Если исключить, см. @BWS's answer. Если обрезка начинается с начала круглых скобок, так что в итоге вы получите Product A: ...

DECLARE @b NVARCHAR(100) 
SET @b = 'Prodct A: (Average)' 
SELECT SUBSTRING(@b,1,(CHARINDEX('(',@b)-1)) 
Смежные вопросы