DATA: COND(72) TYPE C,
ITAB LIKE TABLE OF COND.
DATA WA TYPE SPFLI-CITYFROM.
DATA CITY1 TYPE SPFLI-CITYFROM VALUE 'FRANKFURT'.
CONCATENATE 'CITYFROM = ''' CITY1 '''' INTO COND. " '을 갯수가 다르게 찍는 이유를 알고싶습니다.
*COND = ' CITYFROM = CITY1 '.
APPEND COND TO ITAB.
SELECT CITYFROM
INTO WA FROM SPFLI
WHERE (ITAB).
WRITE / WA.
ENDSELECT.
위에 보면 두단어를 붙일때 ' 이 들어가는데 들어가는 갯수가 틀린이유랑
왜 저렇게 써야하는지 궁금합니다. 저것에 대한 설명이 책후반부 나오는지 모르겠지만
현상황에서 뒤에 까지 일일이 찾아보기가 ㅎㅎ 궁금한것은 못참는 성격이라
알려주세요
그냥 간단히 테스트를 해보았으나 이해가 안되더라고요 ^^;;
초보의 질문이니..이해해주세용~
* e-abap님에 의해서 게시물 복사되었습니다 (2011-03-15 14:35)
댓글 2
-
e-abap
2010.06.17 20:10
-
피노키오
2010.06.20 02:55
DB SQL 에서도 위와 같은 문법을 사용합니다.
홑따옴표는 예약어이기 때문에 예약어를 데이터로 사용하기 위해서는
앞에 홑따옴표를 한번 더 붙이는 문법(약속) 입니다.
풀어서 생각해봅시다~
concatenate는 문자열을 연결합니다.
1. 'CITYFROM = ''' 에서 뒤에 ''' (세 개)는 CITY1 이 변수 이기 때문에 미리 홑따옴표를 만든겁니다. --> CITYFORM = '
2. CITY1 는 변수이기 때문에 홑따옴표를 붙이지 않습니다. --> CITYFORM = 'FRANKFURT
3. '''' 에서 ''''(네 개)는 홑따옴표 하나만을 만든겁니다. --> CITYFORM = 'FRANKFURT'
홑따옴표를 표시하기위해 두 개 그걸 감싸려고 앞뒤에 한 개씩 참 쉽죠잉~
Have you got it? -ㅂ-;
안녕하세요.
' 기호는 문자열을 저장하게 됩니다.
예를들어,
where 구문에서 다음의 city1은 문자열이기 때문에 ' 기호를 한번 더 붙인 것 입니다.
위 구문을 해석하면 다음과 같이 되는거죠.
where CITYFROM = 'CITY1'