SQL Server에서 예/아니오 부울 필드를 만드는 방법
다음 중 하나를 작성하기 위한 베스트 프랙티스는 무엇입니까?yes/no
예.Boolean
변환 시 필드access database
아니면 일반적으로요?
등가물은BIT
들판.
인SQL
사용하다0
그리고.1
비트 필드를 설정합니다(액세스의 예/아니오 필드와 동일).Management Studio에서는 false/true 값으로 표시됩니다(최소한 최신 버전에서는).
ASP를 통해 데이터베이스에 액세스하는 경우.NET 필드를 부울값으로 표시합니다.
그BIT
데이터형은 일반적으로 저장에 사용됩니다.boolean
값(0
위해서false
,1
위해서true
).
를 사용할 수 있습니다.bit
컬럼 타입
를 사용할 수 있습니다.BIT
들판.
기존 테이블에 BIT 열을 추가하는 경우 SQL 명령은 다음과 같습니다.
ALTER TABLE table_name ADD yes_no BIT
새 테이블을 작성할 경우 다음을 수행할 수 있습니다.CREATE TABLE table_name (yes_no BIT)
.
이미 Bit 사용이라는 답변이 있습니다.이 답변에 더 추가하겠습니다.
Boolean 값을 나타내려면 비트를 사용해야 합니다.
MSDN 기사의 코멘트.
비트는 1, 0 또는 NULL 값을 사용할 수 있습니다.
SQL Server 데이터베이스 엔진은 비트 열의 스토리지를 최적화합니다.테이블에 비트 열이 8개 이하일 경우 해당 열은 1바이트로 저장됩니다.9 ~ 16비트 열이 있는 경우 열은 2바이트로 저장됩니다.
문자열 값 TRUE 및 FALSE는 비트 값으로 변환할 수 있습니다.TRUE는 1로 변환되고 FALSE는 0으로 변환됩니다.
비트로 변환하면 0이 아닌 값은 모두 1로 승격됩니다.
주의: 데이터 유형에서만 값을 1과 0으로 유지하는 것이 좋습니다.NOT NULL
비트의 값이 1, 0 및 NULL이므로 자세한 내용은 진실 표를 참조하십시오.따라서 그에 따라 가치를 계획하십시오.비트 데이터 유형의 NULL 값을 허용하면 혼란이 가중될 수 있습니다.
데이터 유형을 사용할 수 있습니다.bit
0보다 큰 값이 삽입되면 '1'로 저장됩니다.
삽입된 값이 0보다 작으면 '1'로 저장됩니다.
'0'으로 삽입된 값은 '0'으로 저장됩니다.
이는 MS SQL Server 2012 Express에도 해당됩니다.
테이블 작성 시 사용 예:
[ColumnName] BIT NULL DEFAULT 0
를 사용할 수 있습니다.BIT
들판
새 테이블을 작성하려면:
CREATE TABLE Tb_Table1
(
ID INT,
BitColumn BIT DEFAULT 1
)
기존 테이블에 열 추가:
ALTER TABLE Tb_Table1 ADD BitColumn BIT DEFAULT 1
레코드를 삽입하려면:
INSERT Tb_Table1 VALUES(11,0)
bit
가장 단순하고 공간도 적게 차지합니다.'Y/N'에 비하면 그다지 장황하지는 않지만 저는 괜찮습니다.
bit
가장 적합한 옵션입니다.그렇지 않으면 한 번 사용해 본 적이 있습니다.int
그 목적을 위해. 1
★★★★★★에true
&0
★★★★★★에false
.
버전의 Studio에서 Server Management Studio를 사용합니다.
BIT
Type ( 타입)
True
★★★★★★★★★★★★★★★★★」False
「 「 Only 」의 경우」1
★★★★★★★★★★★★★★★★★」0
이렇게 .
CREATE TABLE SampleBit(
bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)
하겠습니다.BIT
BEST 옵션으로서그게 누군가에게 도움이 됐으면 좋겠어요.
B를 사용할 수 있습니다.IT유형은1
★★★★★★★★★★★★★★★★★」0
「」도 있습니다.NULL
NULL
용됩니니다다
BIT 유형 변환:
- 를 제외한 임의의
0
로로 합니다.1
. - 를 제외한 임의의 값
"0"
로로 합니다.1
. "0"
로로 합니다.0
.
다음으로 다음과 같이 BIT 타입의 테이블을 작성할 수 있습니다.
CREATE TABLE doctor (
id INT IDENTITY,
name NVARCHAR(50),
on_call BIT, -- Here
PRIMARY KEY(id)
)
GO
그런 다음 다음과 같이 행을 삽입합니다.
INSERT INTO doctor
VALUES ("John", 1), ("Tom", 0), ("Lisa", "-23"), ("Kai", "0"), ("Bob", NULL)
GO
1> SELECT * FROM doctor
2> GO
id name on_call
-- ---- -------
1 John 1 <- 1
2 Tom 0 <- 0
3 Lisa 1 <- "-23"
4 Kai 0 <- "0"
5 Bob NULL <- NULL
언급URL : https://stackoverflow.com/questions/1777257/how-to-create-a-yes-no-boolean-field-in-sql-server
'programing' 카테고리의 다른 글
데이터베이스를 SINGLE USER 모드에서 MULTIUSER 모드로 설정 (0) | 2023.04.07 |
---|---|
MySQL의 NOW()와 동등한 SQL Server? (0) | 2023.04.07 |
row_number()를 사용한SQL 업데이트 (0) | 2023.04.07 |
데이터베이스를 연결할 때 액세스가 거부되었습니다. (0) | 2023.04.07 |
SQL Server를 기존 테이블로 선택 (0) | 2023.04.07 |