aba*_*hev 42 sql t-sql sql-server sql-server-2008 comparison-operators
如何选择比较运算符的结果作为类型为BIT的字段?
它是如何工作的C#:
bool isGreater = FieldA > FieldB;
Run Code Online (Sandbox Code Playgroud)
它是如何工作的T-SQL:
SELECT (FieldA > FieldB) AS BIT FROM t
Run Code Online (Sandbox Code Playgroud)
如何正确编写这样的任务?
Roc*_*der 57
你应该使用CASE子句:
CASE
WHEN FieldA > FieldB THEN 1
ELSE 0
END AS [BIT]
Run Code Online (Sandbox Code Playgroud)
G M*_*ros 41
Select Convert(Bit, Case When FieldA > FieldB Then 1 Else 0 End) As YourBitColumn
Run Code Online (Sandbox Code Playgroud)
如果要返回BIT,则需要将转换(或转换)转换为位数据类型,否则,SQL会将硬编码常量(1或0)解释为整数.
您可以使用IIF函数。例如:
SELECT IIF(FieldA > FieldB, 1, 0) AS YourBitColumn FROM t
Run Code Online (Sandbox Code Playgroud)
IFF函数的语法如下:
IIF( boolean_expression, true_value, false_value )
Run Code Online (Sandbox Code Playgroud)
IFF返回,如果boolean_expression为 true,则true_value,否则false_value
有关函数的更多信息IFF:逻辑函数 - IIF (Transact-SQL)
| 归档时间: |
|
| 查看次数: |
33491 次 |
| 最近记录: |