내부적으로 CHARINDEX()를 사용하는 T-SQL의 사용자 정의 함수가 있습니다. @caseSensitivity (bit) 매개 변수를 입력으로 받아들이므로 CHARINDEX() 함수의 대소 문자 (데이터 정렬)를 결정해야합니다. CHARINDEX()의 모든 경우에 대해 두 개의 if-constructs를 만들지 않고 그렇게 할 수있는 방법이 있습니까?사용자 정의 함수의 CaseSensitivity T-SQL
0
A
답변
1
불행히도, 거기에 isn't a way to set a connection-level collation override, 그게 당신이 생각했다면 (나는).
그러나이 방법을 쉽게 제어 할 수있는 방법을 찾고 있다면 모든 CHARINDEX 조회를 대소 문자를 구분하여 평가 한 다음 UPPER을 사용하여 @ caseSensitive는 0입니다.
DECLARE @caseSensitivity BIT = 1
DECLARE @input VARCHAR(3) = 'Abc'
DECLARE @inputCheck VARCHAR(3) = 'B'
IF @caseSensitivity = 0
BEGIN
SET @input = UPPER(@input)
SET @inputCheck = UPPER(@input)
END
SELECT CHARINDEX(@inputCheck COLLATE SQL_Latin1_General_CP1_CS_AS, @input COLLATE SQL_Latin1_General_CP1_CS_AS, 0)
+0
이것은 실제로 문제에 대한 훌륭한 해결책입니다. 나는 그런 것을 찾고있었습니다. 고맙습니다! – zhulien
+0
대단히 환영합니다! –
관련 문제
- 1. Backbonejs routing casesensitivity issue
- 2. TSQL : 함수의 변수에서 테이블 사용
- 3. 사용자 정의 함수의 성능은 R
- 4. 사용자 정의 함수의 공식은 R
- 5. 하이브 및 사용자 정의 함수의
- 6. 사용자 정의 함수의 함수 호출
- 7. TSQL 사용자 정의 함수에서 PRINT를 어떻게 출력합니까?
- 8. TSQL 변경 커서 정의
- 9. 왜 TSQL 연산자 +는 집계 함수의 합()
- 10. TSQL 스칼라 함수의 연결 값 반환
- 11. 사용자 정의 ContentProvider 함수의 입력 필터링
- 12. 함수의 사용자 정의 프로토 타입 체인
- 13. 사용자 정의 함수의 반환 값에 문제가 있습니다
- 14. int를 사용자 정의 함수의 문자로 변환합니다.
- 15. 사용자 정의 함수의 문이 R에서 적용되는 경우
- 16. SQL 사용자 정의 함수의 인수가 불명확합니까?
- 17. 사용자 정의 함수의 이름을 바꾸는 방법
- 18. "집계"와 사용자 정의 함수의 결합
- 19. 사용자 정의 함수의 무한 "로드 중 ..."
- 20. 사용자 정의 함수의 'Expression'매개 변수 데이터 형식
- 21. 하늘색 함수의 사용자 정의 구성 섹션?
- 22. R 함수의 사용자 정의 탭 완성
- 23. Fluent NHibernate를 사용하여 Tsql 사용자 정의 함수를 매핑하는 방법은 무엇입니까?
- 24. TSQL 다른 사용자 정의 형식을 사용하여 테이블 만들기?
- 25. TSQL : LDAP에서 사용자 데이터에 액세스
- 26. 정의 된 함수의 raw_input
- 27. 정의 함수의 최대 수
- 28. 함수의 정의 isReverse를 작성하십시오.
- 29. 속성이있는 함수의 typescript 정의
- 30. 다른 사용자 정의 함수 내 사용자 정의 함수의 순서 지정 PHP
코드 샘플을 게시 할 수 있습니까? – Jace
'IF' 대신'CASE'를 고려 했습니까? 당신의 논리에 달려 있습니다. – Tak
@t_m, 대소 문자를 사용하면 코드의 양과 품질이 같아 지므로 잘 사용하지 않아도됩니다. – zhulien