Microsoft SQL Server에 MySQL과 같은 Boolean 데이터 유형이 있습니까?
Microsoft SQL Server에 MySQL과 같은 Boolean 데이터 유형이 있습니까?
그렇지 않은 경우 MS SQL Server의 대체 방법은 무엇입니까?
해서 '아까불까불까불까불까불까불까불까불까불까불까불까불까불까불까불까요?BIT
데이터 유형: 부울 데이터를 나타냅니다. a.BIT
1, 0으로 하다
데이터 유형을 사용할 수 있습니다.설정은 다음과 같습니다.NOT NULL
:
MSDN 기사 인용:
비트(Transact-SQL)
값 1, 0 또는 NULL을 사용할 수 있는 정수 데이터 유형입니다.
SQL Server 데이터베이스 엔진은 비트 열의 스토리지를 최적화합니다.테이블에 비트 열이 8개 이하일 경우 해당 열은 1바이트로 저장됩니다.9 ~ 16비트 열이 있는 경우 열은 2바이트로 저장됩니다.
문자열 값 TRUE 및 FALSE는 비트 값으로 변환할 수 있습니다.TRUE는 1로 변환되고 FALSE는 0으로 변환됩니다.
있는 은 「 」입니다.bit
. 10 ( . 1 는 00 ( )을 NULL
를 참조해 주세요.
할 수 .'true'
★★★★★★★★★★★★★★★★★」'false'
0 , 를 들어 을 0 을 0 을 so...
declare @b1 bit = 'false'
print @b1 --prints 0
declare @b2 bit = 'true'
print @b2 --prints 1
또한 0이 아닌 값(양수 또는 음수)은 1로 평가(또는 경우에 따라 변환)됩니다.
declare @i int = -42
print cast(@i as bit) --will print 1, because @i is not 0
있는 논리(SQL Server)를 합니다(SQL Server 3).true
,false
, , , , 입니다.NULL
NULL
는 사용 한 값입니다.bit
typedata type 니다다 。입니다. - 하다.
세 가지 가치 있는 논리에 대한 자세한 내용은
http://www.firstsql.com/idefend3.htm
https://www.simple-talk.com/sql/learn-sql-server/sql-and-the-snare-of-three-valued-logic/
SQL Server를 사용합니다.값은 다음과 같습니다.TRUE
,FALSE
★★★★★★★★★★★★★★★★★」UNKNOWN
그러나 부울 데이터 유형은 비교 연산자의 일부 조합을 포함하는 부울식의 결과일 뿐입니다(예:=
,<>
,<
,>=
또는 논리 연산자(예:AND
,OR
,IN
,EXISTS
) 부울식은 절, 절, 절을 포함한 소수의 장소에서만 사용할 수 있습니다.WHEN
표현식의 절 또는 흐름 제어문의 술어.
테이블 내 열의 데이터 유형을 포함한 다른 모든 사용의 경우 부울은 허용되지 않습니다.그 외의 용도에서는, 데이터 타입이 선호됩니다.좁혀진 것처럼 행동합니다.INTEGER
이것은 오직 가치만 허용한다.0
,1
그리고.NULL
에 의해 더 이상 제한되지 않는 한NOT NULL
열 구속 또는 aCHECK
제약이 있습니다.
를 사용하려면BIT
다음과 같은 비교 연산자를 사용하여 비교해야 합니다.=
,<>
또는IS NULL
.예.
SELECT
a.answer_body
FROM answers AS a
WHERE a.is_accepted = 0;
포맷의 관점에서 보면bit
값은 일반적으로 다음과 같이 표시됩니다.0
또는1
클라이언트 소프트웨어에서 사용합니다.보다 사용자 친화적인 포맷이 필요하고 데이터베이스 앞의 애플리케이션 계층에서 처리할 수 없는 경우 다음을 사용하여 "저스트 인 타임"으로 변환할 수 있습니다.CASE
예를 들어, 예:
SELECT
a.answer_body,
CASE a.is_accepted WHEN 1 THEN 'TRUE' ELSE 'FALSE' END AS is_accepted
FROM answers AS a;
다음과 같은 문자 데이터 유형으로 부울 값 저장char(1)
또는varchar(5)
가능하지만 이는 명확성이 떨어지고 스토리지/네트워크 오버헤드가 증가하며CHECK
잘못된 값을 제한하기 위해 각 열의 제약 조건을 설정합니다.
참고로 의 스키마는answers
테이블은 다음과 같습니다.
CREATE TABLE answers (
...,
answer_body nvarchar(MAX) NOT NULL,
is_accepted bit NOT NULL DEFAULT (0)
);
사용할 수 있습니다.Bit
SQL Server의 DataType을 사용하여 부울 데이터를 저장합니다.
SQL Server는Bit
데이터형
를 사용합니다.Bit
데이터형네이티브 T-SQL에서 처리할 경우 값 1과 0이 지정됩니다.
를 사용합니다.BIT
데이터 유형: 부울 데이터를 나타냅니다.aBIT
1.0의 NULL이 되다.
create table <tablename> (
<columnName> bit
)
스리웨이 부울을 사용하지 않는 한 다음과 같이 NOT NULL DEFAULT 0을 추가해야 합니다.
create table <tablename> (
<columnName> bit not null default 0
)
용 i i i i를 쓴다.TINYINT(1)
하여 SQL 합니다.BIT
이 있다
언급URL : https://stackoverflow.com/questions/3138029/is-there-a-boolean-data-type-in-microsoft-sql-server-like-there-is-in-mysql
'programing' 카테고리의 다른 글
SQL-Server: 오류 - 데이터베이스가 사용 중이므로 배타적 액세스 권한을 얻을 수 없습니다. (0) | 2023.04.07 |
---|---|
SQL Server Management Studio, 실행 시간을 밀리초로 단축하는 방법 (0) | 2023.04.07 |
인터페이스의 배후에 있는 실제 방식의 실장에 네비게이트 할 수 있는 방법이 있습니까? (0) | 2023.04.07 |
SQL Server의 char, nchar, varchar 및 nvarchar의 차이점은 무엇입니까? (0) | 2023.04.07 |
이름이 특정 문자열로 시작하는 모든 테이블을 삭제합니다. (0) | 2023.04.07 |