한다고 가정 나는 내가 PHP와 함께 그것을 설정하는 방법, 나는 가능성이 내가 검색 선택을 제공하고 있기 때문에 X와 Y가 비어있을 수 있습니다 알고 있습니다빈 값
SELECT A,B FROM T1 WHERE A=X and B=Y;
A 및/또는 B를 사용합니다. 따라서 A 만 주어 졌다고 가정 해 봅시다. A = X 인 모든 튜플을 반환하려면 Y는 무엇이 필요합니까? SQL에 '공백'기능이 있습니까?
한다고 가정 나는 내가 PHP와 함께 그것을 설정하는 방법, 나는 가능성이 내가 검색 선택을 제공하고 있기 때문에 X와 Y가 비어있을 수 있습니다 알고 있습니다빈 값
SELECT A,B FROM T1 WHERE A=X and B=Y;
A 및/또는 B를 사용합니다. 따라서 A 만 주어 졌다고 가정 해 봅시다. A = X 인 모든 튜플을 반환하려면 Y는 무엇이 필요합니까? SQL에 '공백'기능이 있습니까?
다음은 A 또는 B 중 하나가 NULL 인 (채워지지 않은) 모든 행을 반환하거나 또는 "A = $ a": " A와 B 모두 귀하가 정의한 것과 동일합니다.
SELECT A, B FROM T1 WHERE (A IS NULL or A=X) and (B IS NULL or B=Y);
다른 것을 찾으려면 질문을 명확히하십시오.
내 Y가 변수 $ v이고 이것이 비어 있다는 것을 알고 있고 내가 할 수 있다고 확신한다면 $ v = "" 이것은 SQL에 대해 null로 간주됩니까? 아니면 그렇게해야합니까? 그냥 그대로 전달할 수 있습니까? – rex
@rex ** '**'을 **과 비교할 수는 없습니다. 'NULL'은 아무 것도 아닙니다. SQL에서는'WHERE
감사합니다. SQL이 NULL 인 PHP 변수를 어떻게 처리했는지 확실하지 않았습니다. – rex
을 감안할 때이 검색 PARAMATERS의 X 및/또는 Y, 당신도 매개 변수에 의해 검색 할 수 IS NULL
으로 OR
을 사용할 수 있습니다 : 당신이 알고있는 경우
SELECT A,B
FROM T1
WHERE (X IS NULL OR A=X) AND
(Y IS NULL OR B=Y)
당신은 종류의 무언가를 사용할 수있는 A 또는 B의 데이터 그 열의도 이제까지있을 것 NULL 값을 수 없을 것 또는 값을 알고 있다면 당신은 경우 함수에서 NULL 값을 수정할 수 있습니다
MySQL은 :
SELECT A,B FROM table where A=IF('X' <> '', X, NULL) OR B=IF('Y' <> '', Y, NULL)
SQL 서버 :
$ querystr = "A, B SELECT : A가 존재하는 경우는 PHP를 통해 쿼리를 전달하는 경우
SELECT A,B FROM table where A=IIF('x' <> '', X, NULL) OR B=IIF('Y' <> '', Y, NULL)
귀하의 다른 대안은 즉, B의 AND/OR 절을 포함하지 않는 것입니다 FROM table WHERE "($ a! =" "?
A IS NULL
이 맞는지 확인하고 싶습니다. 테이블의 열 A
는 선택 사항입니다
SELECT A, B FROM T1 WHERE (A=X OR A IS NULL) AND (B=Y OR B IS NULL);
경우 새 레코드를 삽입하거나이 컬럼에 값을 추가하지 않고 기존 레코드를 업데이트 할 수 있습니다처럼
그래서 전체 SQL 쿼리를 보일 것이다. 즉, 필드가 NULL 값으로 저장됩니다. NULL은 알 수 없거나 적용 할 수없는 값의 자리 표시 자로 사용됩니다.
상세 정보 : MySQL NULL values
당신은 의미합니까,
이SELECT A,B
FROM T1
WHERE (A=X or X is null)
and (B=Y or Y is null)
and not(A is null and B is null);
가
당신은 의미합니까 'NULL' IS (처럼'A는 NULL 또는 A = X')? –