[초보] sql 함수안에 함수 0 4 2,592

by SirUM [SQL Query] sql 함수 [2016.05.19 15:32:19]


안녕하세요... 초짜인데.... 초짜라서 죄송합니다....ㅠㅠㅠ...최근에 sql 배우기 시작했는데 궁금한 점이 있어 질문글 올립니다.

아무리 찾아도 제가 검색능력이 딸려서 그런지 잘 안찾아지네요 ㅠㅠㅠㅠ

다름이아니라 length라는 함수 안에 select 문을 쓸 수 있는지에 관해서입니다...

예를 들어 name 이란 컬럼에 공백이 포함되는 바람에 공백을 빼고length 를 구하고 싶어서 다름과 같은 sql 문을 짰습니다.

 

select length(select trim(' ' from name) from test01 where) from test01

근데 실행해보니 missing operation 이라고 뜨면서 2번재 select 를 가리키더군요 ㅠㅠ...

select trim(' ' from name) from test 01 

where id=12

하면 abc (공백 미포함) 일케 잘 뜨는데... length 를 구하려면 어떻게 해야할까요? 위에같이 쓰면 안되는건아요...?

초짜라 너무 기본적 질문 죄송합니다 ㅠㅠㅠ엉엉..

by 푸르른 [2016.05.19 15:43:19]

select length(trim(name)) as length from test01

 

이렇게 하시면되죠 ㅎ

 

 


by SirUM [2016.05.19 15:57:22]

헉...! 감사합니다...!! 한 번 해봤더니 돼요!!!ㅎㅎ!!!!


by 마농 [2016.05.19 15:50:39]

SELECT 구문에는 컬럼 뿐 아니라
상수, 함수, 연산식, 서브쿼리 등의 여러가지 다양한 표현식 사용이 가능하며
또한, 이 표현식을 여러번 중첩해서 사용할 수도 있습니다.
즉, 함수 안에 서브쿼리 사용가능합니다.


하지만 위에 사용하신 구문은 오류 투성이죠.
서브쿼리는 괄호로 묶어줘야죠. : LENGTH(SELECT~)  ===> LENGTH((SELECT~))
where 절도 작성하다 말았고...


그런데... 서브쿼리를 꼭 사용해야 하는지도 의문이네요.
SELECT LENGTH(TRIM(name)) FROM test01;


by SirUM [2016.05.19 15:58:10]

답변감사합니다 ㅎㅎ!!! trim함수부분을 괄호로 한 번 감싸주니까 되네요!!! 

친절한 답변 감사합니다! ㅎㅎㅎ!

where 절은.. 복붙하다가 밑에부분을 마저 복붙을 못하는바람에 ㅋㅋㅋ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입