2010-05-05 2 views
1

SQL 테이블을 사용하여 일부 작업을 수행하려고합니다.SQL Server 쿼리

건물 1에는 1 - 100의 회의실 번호가 있고 건물 2에는 101 - 199 개의 방이있는 건물이 있습니다. 위치 필드 (방금 생성 한 주소)가 있는데 그 중 하나를 사용하여 채우는 쿼리를 실행하려고합니다. '방'필드에있는 방 번호에 따라 '건물 1'또는 '건물 2'.

많은 도움에 감사드립니다.

감사

스콧

+1

@ 갈루시아어 : 답변이 맞다면 왜 게시물을 삭제하겠습니까? –

+0

무슨 소리 야? –

+0

Galwegian이 정확한 anwer을 게시했으나 이후 삭제했습니다. –

답변

4
당신은 당신의 테이블을 업데이트 Case을 사용할 수 있습니다

:

Update your_table 
Set location = Case When room_number <= 100 Then 
         'Building 1' 
        Else 
         'Building 2' 
        End; 

객실-숫자가 모두 다른 문자 다음에 세 자리 숫자, substring를 사용하여 작업을해야하는 경우 :

Case When Cast(Substring(room_number, 1, 3) As Int) <= 100 Then 

Sinc

Case When 
    Cast(
     Substring(room_number, 1, PatIndex('%[A-Z]%', room_number || 'A') - 1) 
    As Int) <= 100 
Then 

나는 확실히 그것은 또한 수치 방 번호와 함께 작동 확인하기 위해 A을 연결하고있어 : 전자 귀하의 객실의 모든 세 자리 (1A)는 숫자의 길이를 찾기 위해 PatIndex을 사용할 수 있습니다로 시작합니다.

+0

감사합니다. 120Z 및 121Y와 같은 회의실 번호에 어떻게 대처할 수 있습니까? –

+0

모든 객실 번호가 3 자리 숫자와 단일 문자 인 경우 방 번호에 SUBSTRING을 사용하고 case 문에서 해당 값을 비교할 수 있습니다. –

+0

나의 방 번호는 1에서 500까지이며, 120X, 121G 등과 같은 다른 것들도 있습니다 (약 20 개의 객실 만). –