Apa praktik terbaik untuk membuat bidang yes/no
yaitu Boolean
ketika mengkonversi dari access database
atau secara umum?
sql-server
boolean
sqldatatypes
leora
sumber
sumber
Tipe
BIT
data umumnya digunakan untuk menyimpanboolean
nilai (0
untukfalse
,1
untuktrue
).sumber
BIT
ditentukan dalam standar SQL? Saya kesulitan menemukannya. Yang paling dekat yang bisa saya lihat adalah "tipe Boolean".Anda dapat menggunakan
bit
jenis kolom.sumber
Anda bisa menggunakan
BIT
bidang tersebut.Untuk menambahkan kolom BIT ke tabel yang ada, perintah SQL akan terlihat seperti:
ALTER TABLE table_name ADD yes_no BIT
Jika Anda ingin membuat tabel baru, Anda bisa melakukan:
CREATE TABLE table_name (yes_no BIT)
.sumber
Anda bisa menggunakan tipe data
bit
Nilai yang dimasukkan yang lebih besar dari 0 akan disimpan sebagai '1'
Nilai yang dimasukkan yang kurang dari 0 akan disimpan sebagai '1'
Nilai yang dimasukkan sebagai '0' akan disimpan sebagai '0'
Ini berlaku untuk MS SQL Server 2012 Express
sumber
0
itu salah, semua non-0
angka benar. Itu juga umum untuk -1 menjadi nilai default untuk true karena dalam biner yang ditandatangani ia memiliki setiap bit yang diatur ke 1. Saat ini sangat umum untuk melihat 1 sebagai nilai default untuk true (hanya bit set paling tidak signifikan).Sudah ada jawaban yang mengatakan penggunaan Bit. Saya akan menambahkan lebih banyak ke jawaban ini.
Anda harus menggunakan bit untuk mewakili nilai Boolean.
Keterangan dari artikel MSDN.
Catatan: Ini adalah praktik yang baik untuk menjaga nilai sebagai 1 dan 0 hanya dengan tipe data
NOT NULL
Karena Bit memiliki nilai 1, 0 dan NULL. Lihat tabel kebenaran untuk ini. Jadi rencanakan nilai yang sesuai. Mungkin menambah kebingungan dengan memungkinkan nilai NULL untuk tipe data bit.
sumber
Contoh penggunaan saat membuat tabel:
sumber
Anda bisa menggunakan
BIT
bidang tersebutUntuk membuat tabel baru:
Menambahkan Kolom di Tabel yang ada:
Untuk Memasukkan catatan:
sumber
bit
akan menjadi yang paling sederhana dan juga memakan ruang paling sedikit. Tidak terlalu verbose dibandingkan dengan "Y / N" tapi saya baik-baik saja dengan itu.sumber
bit
adalah pilihan yang paling cocok. Kalau tidak, saya pernah menggunakanint
untuk tujuan itu.1
untuktrue
&0
untukfalse
.sumber
yang akan memberi Anda
True
atauFalse
Opsi nilai. jika Anda hanya ingin menggunakan1
atau0
Anda dapat menggunakan metode ini:Tapi saya akan menyarankan
BIT
sebagai Opsi TERBAIK . Semoga sepenuhnya itu membantu seseorang.sumber