programing

여기서 Clause의 SQL 문 조건

goodjava 2022. 11. 10. 20:47

여기서 Clause의 SQL 문 조건

아래 sql 쿼리에 대한 where 문 조건을 만드는 데 문제가 있습니다.

표시하지 않는 where 조건을 추가하고 싶다.num1그리고.num2둘 다 0이거나 둘 중 하나라도 0인 경우 값

SELECT Num1, Num2
FROM Position
WHERE  (Num1 IS NOT NULL AND Num2 IS > NOT NULL)
ORDER BY PositionDateTime DESC ;

결과:

    +---------+---------+
    | Num1    | Num2    |
    +---------+---------+
    |
    | 47.3941 | 8.68005 |
    |       0 |       0 |
    | 47.4385 | 8.61106 |
    | 47.4385 | 8.61106 |

이것을 시험해 보세요.

 SELECT Num1, Num2 
    FROM Position 
    WHERE Num1 <> 0  
    OR Num2 <> 0
    ORDER BY PositionDateTime DESC ;

를 사용하여 다음 항목을 사용할 수 있습니다.

SELECT Num1, Num2 
FROM Position 
WHERE IFNULL(Num1, 0) <> 0 AND IFNULL(Num2, 0) <> 0
ORDER BY PositionDateTime DESC

데모: http://sqlfiddle.com/ #!9/3a441a/1/0

설명:두 값이 모두 (인 경우 행을 표시하지 않을 수 있습니다.Num1그리고.Num2)는 0(또는 NULL) 또는 이러한 값 중 하나(또는 NULL)입니다.Num1또는Num2)는 0(또는 NULL)입니다.따라서 두 값이 모두 표시되는 행만 표시해야 합니다.Num1그리고.Num2의 값은 0(및 NULL)이 같지 않습니다.이 때문에,Num1 <> 0 AND Num2 <> 0조건으로서NULL 기본값을 설정하려면IFNULL(두 번째 파라미터는 NULL 대신 사용되는 값입니다).MySQL 에서는, 다음과 같은 차이가 없습니다.IFNULL(Num1, 0) <> 0 AND IFNULL(Num2, 0) <> 0그리고.Num1 <> 0 AND Num2 <> 0

확장 데모: http://sqlfiddle.com/ #!9/11f2a5/1/1

스트레이트 스트레이트가 필요하죠?<>연산자:

SELECT   Num1, Num2 
FROM     Position
WHERE    Num1 IS NOT NULL AND Num1 <> 0 AND
         Num2 IS NOT NULL AND Num2 <> 0
ORDER BY PositionDateTime DESC

또,coalesce조금 더 우아하게 질문할 수 있도록 하기 위해서입니다만, 이것은 아마 개인의 취향에 관한 문제일 것입니다.

SELECT   Num1, Num2 
FROM     Position
WHERE    COALESCE(Num1, 0) <> 0 AND
         COALESCE(Num2. 0) <> 0
ORDER BY PositionDateTime DESC

쿼리를 다음과 같이 변경할 수 있습니다.

SELECT num1, num2
FROM position
WHERE num1 <> 0 AND num2 <> 0
ORDER BY positiondatetime DESC ;

시행: Num1 <> 0 및 Num2 <> 0

SELECT Num1, Num2 
FROM Position 
WHERE (Num1 is not null and Num2 is not null)
ORDER BY PositionDateTime DESC
    SELECT Num1, Num2 
    FROM Position WHERE Num1 <> 0 AND Num1 IS NOT NULL AND Num1 <> ''
    AND Num2 <> 0 AND Num2 IS NOT NULL AND Num2 <> ''
    ORDER BY PositionDateTime DESC ;

언급URL : https://stackoverflow.com/questions/47788868/sql-statement-condition-in-where-clause