2013-05-22 4 views
0

저는 SQL을 처음 사용하고 다른 열의 값을 사용하여 새 열을 만들려고합니다.대소 문자를 사용하여 새 열 만들기

다음과 같이 사용하고 있습니다. 내가 a.titulo 에 Mensual 단어 을 찾을 때

Select 
a.idclientecrm, 
(case 
when a.titulo like '%Mensual'  then 'Mensual' 
when a.titulo like '%Trimestral' then 'Trimestral' 
when a.titulo like '%Semestral'  then 'Semestral' 
when a.titulo like '%Anual'   then 'Anual' 
else null 
end) as Periodo_Producto 
from tareas a 

나는 모든 다른 기간 (trimestral에 대한 등등 새 열 단어 'Mensual'와, semestral필요 anual).

"좋아요"부분이 작동하지 않는 것처럼 보였습니다. 이 포함되어 있지만 시도 할 수도 없습니다.

희망 사항입니다.

+0

'좋아요'가 작동하지 않는다고합니다. 그것은 무엇을합니까? a.titulo 열을 포함하여 위의 SQL을 실행할 때 몇 가지 샘플 출력을 줄 수 있습니까? – Tom

+0

제목의 끝이나 제목의 처음이나 어느 곳에서나 단어를 기대하십니까? 와일드 카드가 잘못된 위치에있을 수 있습니다. – Taryn

+0

좋은 포인트 bluefeet. @ 피에트로, 아마 단어 뒤에 또는 원하는쪽에 따라 양쪽에 % 기호가 필요할 것입니다. – Tom

답변

2

당신은 비교가 문자열 어디서나 확인하기위한 비교 문자열의 끝에서 '%'기호 (뿐만 아니라 시작)가 필요합니다 String

Select 
    a.idclientecrm, 
    (case 
    when a.titulo like '%Mensual%'  then 'Mensual' 
    when a.titulo like '%Trimestral%' then 'Trimestral' 
    when a.titulo like '%Semestral%'  then 'Semestral' 
    when a.titulo like '%Anual%'   then 'Anual' 
    else null 
    end) as Periodo_Producto 
    from tareas a 
+0

나는 그런 식으로 시도했지만 작동하지 않는다고 맹세합니다. 그냥 내가 필요한 : – Pietro

+0

문제를 식별하기 위해'테이블'데이터를 넣어. –

3

의 양쪽 끝에서 %을 넣어 -에 문자열 이 종료 단어으로 끝나는 지 확인하는 순간입니다. 시도 :

Select 
a.idclientecrm, 
(case 
when a.titulo like '%Mensual%'  then 'Mensual' 
when a.titulo like '%Trimestral%' then 'Trimestral' 
when a.titulo like '%Semestral%'  then 'Semestral' 
when a.titulo like '%Anual%'   then 'Anual' 
end) as Periodo_Producto 
from tareas a 

(또한, else null가 불필요 - 일치하는 조건이없는 경우 case 반환 기본적으로 널 (null).)

+0

나는 그런 식으로 시도했지만 작동하지 않는다고 맹세한다. 그냥 내가 필요했던 것 : – Pietro

+0

그가 첫번째로 대답했기 때문에 나는 단지 첫번째 것을 선택했다. 그러나 둘 다 동일합니다. 어쨌든 Thnx !! – Pietro

0

사용 %를 양쪽 끝에서.

이 시도 :

여기
Select 
a.idclientecrm, 
(case 
when a.titulo like '%Mensual%'  then 'Mensual' 
when a.titulo like '%Trimestral%' then 'Trimestral' 
when a.titulo like '%Semestral%'  then 'Semestral' 
when a.titulo like '%Anual%'   then 'Anual' 
else null 
end) as Periodo_Producto 
from tareas a 

이에 대한 fiddle입니다.

호프는 사용자의 필요에 따라 작동하기를 바랍니다. 감사!

관련 문제