펑션함수내에서 when case문제..?

문상연 2016.03.24 18:29 Views : 2366

a 테아불
==================
PK_ID     NAME    JUMSU
 1            문길수    50
 2            안청인     68
 3            오만숙    87
 4           최말자    100
 5           김숙자     78


위 테이블을 조회시 특정한 이름이 맨처름 조회가 되도록 할수없나요?

예를 들면 최말자라는 이름이 맨처음에 조회가 되는겁니다



최말자
문길수
안창인
오만숙
김숙자

어제 이렇게 질문드려서 좋은 답변을 받아서 아래와 같이 한번 해봤습니다

alter  FUNCTION [dbo].[fn_NameJoin]( @Name nvarchar(50))
RETURNS VARCHAR(1200)
AS
BEGIN

  DECLARE @retVal NVARCHAR(1200) 
  SELECT @retVal = COALESCE( @retVal + ',' ,'') + Ltrim(Rtrim(Name)) FROM table_test
  order by case when Name = @Name  then 0 else PK_ID end 
 
  RETURN @retVal
End

[dbo].[fn_NameJoin] ('오만숙')

위처럼 했는데요

김숙자 뿐이 안나옵니다

orerr by 절을 없애야지만  최말자, 문길수...... 잘나옵니다
그런데  order.절에 직접 이름을 적어주면 잘나옵니다
 order by case when Name = '오만숙'  then 0 else PK_ID end 

도대체 왜그럴까요?

이름을 직접 적어주면 되는데요 변수를 대입시키면 안됩니다
order by case when Name = @Name then 0 else PK_ID end
김숙자 뿐이 안나옵니다
맨마지막 데이타만 나옵니다

도대체 order by case when Name = '오만숙' then 0 else PK_ID end


무슨이유로 직접 적어주는거랑 변수로 비교하는거랑 뭐가 달라서 변수로 비교하면 COALESCE 기능조차도
안되는건가요?
No. Subject Author Date Views
Notice [IT재직자] 개강임박!! 올해 마지막 무료 및 국비지원 교육 (JAVA, 리눅스 기초/고급 , CCNA, CCIE 등) 코난(김대우) 2022.12.02 625
Notice 2022년 11월 SQLER의 강좌 업데이트 리스트 코난(김대우) 2022.12.01 36
9258 특정 칼럼에 여러개의 값을 받을때의 질문입니다. [6] karyaladin 2016.03.31 2064
9257 MSSQL 쿼리문 검색을 통하여 엑셀파일 첨부하여 메일링 보내는 프로시저 [질문] 곰요 2016.03.30 3065
9256 특정기간 동안 월, 시작일, 종료일을 가지고 오고 싶은데요. [3] DOOLLY 2016.03.30 3495
9255 REPLACE 의 INTO 구문이 잘못되었다고는 하는데 오류좀 찾아 주세요. [4] 니가사와맥주 2016.03.29 2422
9254 sqlserver.exe 서비스가 2개가 실행되는 현상 [1] 생초보 2016.03.29 2212
9253 복제.. 게시 구독에서.. 게시 테이블 변경시 괜찮을까요? 공유맨 2016.03.28 2297
9252 두 테이블 합치기 [4] Blue2 2016.03.28 3347
9251 다중값 처리를 어떻게 해야 하나요? [4] 꼽냐™ 2016.03.27 7716
9250 문이 완료되기 전에 최대 재귀 횟수(100)가 초과되었습니다. [3] 성시기 2016.03.25 8110
» 펑션함수내에서 when case문제..? [6] 문상연 2016.03.24 2366
9248 테이블결과 값을 리스트형태로 출력할 수 있을까요??? [1] SQL어렵.. 2016.03.24 2135
9247 JOB이 멈춰서 KILL 했는데도 무응답.. 무슨상태일까요? [4] DoubleSH 2016.03.24 2848
9246 2005 -> 2014 업그레이드 관련 질문 [1] rollback 2016.03.24 2095
9245 OPENQUERY 변수이용 방법을 알고 싶습니다. [3] 아싸라비아콜롬비아 2016.03.22 5234
9244 두개의 테이블 비교 [2] DOOLLY 2016.03.22 2258
9243 복합인덱스 사용중 입니다. [2] 후오로 2016.03.22 2237
9242 다른 데이터 베이스에서 함수를 호출하고 싶습니다. [2] 아싸라비아콜롬비아 2016.03.21 5809
9241 sql server 2014 network storage 질문입니다. [1] db2inst1 2016.03.21 2300
9240 sql db 백업 관련 계정 권한 설정 관련 질문 입니다. [1] 돌강냉이 2016.03.21 2425
9239 MS-SQL에서 오라클디비를 통해서 데이터를 조회 수정하고 싶습니다. [2] 아싸라비아콜롬비아 2016.03.18 2353





XE Login

테스트 팝업
Close