카테고리 없음

mssql where 공백제거 검색

nayha 2024. 6. 19. 16:43
반응형

`REPLACE` 함수로 공백을 제거한 후 `WHERE` 조건에 적용하는 방식이 일반적으로 작동해야 합니다. 하지만 작동하지 않는다면 몇 가지 다른 접근 방식을 고려해 볼 수 있습니다.

아래는 몇 가지 다른 방법입니다:

1. **LTRIM과 RTRIM 사용**:
   `LTRIM`과 `RTRIM` 함수는 문자열의 왼쪽과 오른쪽 끝에서 공백을 제거합니다. `REPLACE`와 함께 사용할 수 있습니다.

   ```sql
   SELECT *
   FROM your_table
   WHERE REPLACE(LTRIM(RTRIM(column_name)), ' ', '') = 'somevalue';
   ```

2. **다양한 공백 문자를 제거**:
   만약 다양한 공백 문자를 제거해야 한다면 `REPLACE`를 여러 번 중첩해서 사용할 수 있습니다.

   ```sql
   SELECT *
   FROM your_table
   WHERE REPLACE(REPLACE(REPLACE(column_name, ' ', ''), CHAR(9), ''), CHAR(13), '') = 'somevalue';
   ```

3. **특정 예제 확인**:
   특정 예제를 들어, 실제로 무엇이 잘못되었는지 확인해 봅시다. 만약 실제로 적용해 본 쿼리를 알려주시면 더 구체적으로 도와드릴 수 있습니다.

4. **다른 문자열 함수 사용**:
   문자열을 다루는 다른 함수를 사용할 수도 있습니다. 예를 들어, `PATINDEX`와 `STUFF` 함수를 사용하여 공백을 제거할 수도 있습니다.

   ```sql
   DECLARE @str NVARCHAR(MAX)
   SET @str = (SELECT column_name FROM your_table WHERE condition);

   WHILE PATINDEX('% %', @str) > 0
     SET @str = STUFF(@str, PATINDEX('% %', @str), 1, '');

   SELECT *
   FROM your_table
   WHERE @str = 'somevalue';
   ```

위의 예제들이 여전히 작동하지 않는다면, 실제 테이블 및 데이터를 사용한 구체적인 쿼리를 제공해 주시면 문제를 더 정확히 파악하고 해결하는 데 도움이 될 것입니다.

반응형