안녕하세요, 내 데이터베이스 (SQL Server)에서 문자가 ª 인 쿼리를 실행하여 모든 행을 찾으려고합니다. (가) 둘 다 행의 다른 번호를 반환하고, (B) 그들은 지정된 문자가없는 행을 반환됩니다 SQL 서버에서 유니 코드 문자를 비교하는 방법은 무엇입니까?
SELECT COUNT(*) FROM t_question WHERE patindex(N'%[\xE9]%',question) > 0;
SELECT COUNT(*) FROM t_question WHERE patindex(N'%[\u00E9]%',question) > 0;
는하지만 두 가지 문제를 발견했다.
정규 표현식을 구성하고 유니 코드를 비교하는 방법이 맞습니까?
EDIT :
질문 열 nvarchar
데이터 유형을 사용하여 저장된다. 다음 쿼리는 올바른 결과를 제공합니다.
SELECT COUNT(*) FROM t_question WHERE question LIKE N'%é%';
그래서 제 한 \ 0,0, E 또는 9와 매칭되는? 실제로 쿼리에서 유니 코드를 지정하는 방법이 있습니까? – rkg
@Ravi - 어떤 이유로 든 문자 그대로'WHERE patindex (N '%'+ NCHAR (0xE9) + '%', question)> 0 ' % é % ', question)> 0' –
감사합니다 마틴. 이것은 정말로 도움이되었습니다. 나는 PATINDEX가 정규 표현식을 지원한다는 인상을 받았다. – rkg