次のようなものを選択するビューを作成します。
select id, name, 1 as active
from users
ただし、selectステートメントで作成しているアクティブなフィールド(テーブルには存在しない)をビットフィールドにしたいのですが。これを行う方法はありますか?
CONVERT演算子を使用できます。
SELECT id, name, CONVERT(bit, 1) AS active
FROM users
CASTまたはCONVERTが機能します。
select id, name, CAST(1 AS bit) as active
from users
1
は、真のビットの表示です。あなたが達成しようとしていることは何ですか。
している
select CAST('true' AS bit) as active
戻り値 1
も。
はい、あなたはそれをビットにキャストします:
select id, name, cast(1 as bit) as active
from users
これは、状況によってはビット値と比較するときにパフォーマンスを向上させるのにも役立ちます。
select id, name
from users
where active = cast(1 as bit)
(この例では、実際的な違いはないかもしれませんが、より複雑なクエリで実際の違いを見てきました。)
select id, name, Convert(bit, 1) as active
from users
あなたがおそらくやりたいことです。