2010-03-04 4 views
4

Null (0x00)을 포함 할 수있는 VARCHAR 열의 레코드를 찾으려고 시도하는 중, Null 문자를 찾는 방법을 찾을 수 없습니다.Firebird의 NULL 문자 VARCHAR

모든 아이디어를 환영합니다.

- 이스라엘

+0

select * 전화 번호는 null이 아님 –

+0

http://cse-mjmcl.cse.bris.ac.uk/blog/2007/02/14/ 1171465494443.html –

+0

주석 주셔서 감사 드리며, NULL 문자로 VARCHAR 열을 추적하기위한 시행 착오 접근법을 끝내게되었습니다. Firebird에서 SQL을 사용하여 특정 이진 문자를 검색하는 것은 불가능합니다. –

답변

2

파이어가 ASCII_CHAR 기능이 그 외부 함수 라이브러리 (UDF 라이브러리) 온다. 당신은이 같은 데이터베이스에 선언해야한다 :

DECLARE EXTERNAL FUNCTION ascii_char 
INTEGER 
RETURNS CSTRING(1) FREE_IT 
ENTRY_POINT 'IB_UDF_ascii_char' MODULE_NAME 'ib_udf'; */ 

을 그런 다음 쿼리를 시도 할 수 :

select * from yourtable where column like '%' || ASCII_CHAR(0) || '%' 

또는 비슷한 ...

은 내가 시도하지 않은 인정해야 하지만 그 결과를 알려 주시면 감사하겠습니다.

+0

이것은 아름답게 작동했습니다. UDF 기능을 사용할 수 있다는 것을 알지 못해서 고마워. –