我個人是用 bit 型別, 也就是 0 與 1
但是最近在用 ASP.NET 傳參數給 SQL Server 的 Store Procedure時, 用 True及Flase老是傳不過去, 這時我會用 char 型別, 用 '0' 與 '1' 來區分,以解決問題為先.如果在ASP.NET裡0與1傳參數的問題解決了, 我會改用 bit型別.因為 bit使用的位元數比較少.
開發軟體建議 [ Postgres / MySQL ]
可以跟我們一起用一樣的
裡面所有的範例都有
<pre class="c" name="code">-- Postgresql 範例
CREATE TYPE yesno AS ENUM('是', '否');
CREATE TABLE ithelp0827a(
id INT NOT NULL,
name CHAR(10),
isboy yesno);
INSERT INTO ithelp0827a VALUES
(1, 'Tom', '是'),
(2, 'Mary', '否');
SELECT * FROM ithelp0827a;
id | name | isboy
----+------------+-------
1 | Tom | 是
2 | Mary | 否
(2 筆資料列)
SELECT *
FROM ithelp0827a
WHERE isboy = '是';
id | name | isboy
----+------------+-------
1 | Tom | 是
(1 筆資料列)
-----------------------
-- MySQL 範例
CREATE TABLE ithelp0827b(
id INT NOT NULL,
name CHAR(10),
isboy ENUM('是', '否'));
INSERT INTO ithelp0827b VALUES
(1, 'Tom', '是'),
(2, 'Mary', '否');
SELECT * FROM ithelp0827b;
+----+------+-------+
| id | name | isboy |
+----+------+-------+
| 1 | Tom | 是 |
| 2 | Mary | 否 |
+----+------+-------+
SELECT *
FROM ithelp0827b
WHERE isboy = '是';
+----+------+-------+
| id | name | isboy |
+----+------+-------+
| 1 | Tom | 是 |
+----+------+-------+