복붙노트

[SQL] SQL에서 부울 값을 설정하는 방법

SQL

SQL에서 부울 값을 설정하는 방법

나는이 BOOL 인 열을 가지고있다. 어떻게 그것에 대해 참, 거짓 값을 설정할 수 있습니다? 여기 내 쿼리는 다음과 같습니다

Update [mydb].[dbo].[myTable]
SET isTrue =
(
CASE WHEN Name = 'Jason' THEN 1
END
)

나는 THEN 키워드 후 작성 모르겠어요. 나는 BIT 또는 뭔가 다른 AS 1 또는 true 또는 1을 작성해야?

해결법

  1. ==============================

    1.SQL Server는 부울 데이터 형식이 없습니다. 대신에 사용할 수있는 값은 0 또는 1이다 비트 데이터 형식을 가진다. 그래서 귀하의 질문에 대답하기 위해, 당신은 알 수없는 값을 나타 내기 위해 거짓 값, 또는 null을 나타 내기 위해 진정한 가치, 0을 나타 내기 위해 1을 사용합니다.

    SQL Server는 부울 데이터 형식이 없습니다. 대신에 사용할 수있는 값은 0 또는 1이다 비트 데이터 형식을 가진다. 그래서 귀하의 질문에 대답하기 위해, 당신은 알 수없는 값을 나타 내기 위해 거짓 값, 또는 null을 나타 내기 위해 진정한 가치, 0을 나타 내기 위해 1을 사용합니다.

    Update [mydb].[dbo].[myTable]
    SET isTrue =
    CASE WHEN Name = 'Jason' THEN 
        1
    ELSE 
        0
    END
    
  2. ==============================

    2.추가 한 쿼리는 잘 작동합니다,하지만 당신은 물론, 그렇지 않으면 당신의 열에서 NULL을 입력하려고하므로 "FALSE"부분 알아서해야합니다. 당신은 isTrue 컬럼에있는 모든 기본값 구속이 있습니까?

    추가 한 쿼리는 잘 작동합니다,하지만 당신은 물론, 그렇지 않으면 당신의 열에서 NULL을 입력하려고하므로 "FALSE"부분 알아서해야합니다. 당신은 isTrue 컬럼에있는 모든 기본값 구속이 있습니까?

    Update [mydb].[dbo].[myTable]
    SET isTrue =
    (
       CASE WHEN Name = 'Jason' THEN 1 ELSE 0
    END
    )
    
  3. ==============================

    3.당신은되지 않은 조건을 만족하는 경우 때 다른 사람과 case 문이 필요합니다

    당신은되지 않은 조건을 만족하는 경우 때 다른 사람과 case 문이 필요합니다

    Update [mydb].[dbo].[myTable]
    SET isTrue = ( CASE WHEN Name = 'Jason' 
                       THEN 1 else 0 
                   END)
    
  4. ==============================

    4.SQL 서버의 사용 IIF 함수

    SQL 서버의 사용 IIF 함수

    DECLARE @a int = 45, @b int = 40;  
    DECLARE @a int = 45, @b int = 40;  
    SELECT IIF ( @a > @b, 'TRUE', 'FALSE' ) AS Result; 
    
    Result  
    --------  
    TRUE  
    
    (1 row(s) affected)
    

    귀하의 문제에 대한

    Update [mydb].[dbo].[myTable]
    SET isTrue = ( Name = 'Jason', 'TRUE', 'FALSE' )
    
    
    
  5. from https://stackoverflow.com/questions/41695064/how-to-set-bool-value-in-sql by cc-by-sa and MIT license