Nao*_*aor 8 .net c# t-sql sql-server sql-server-2005
我想选择布尔值:
SELECT field1, field2, 1 as is_field
FROM TABLE
Run Code Online (Sandbox Code Playgroud)
在Visual Studio 2010中我正在做:
bool b = row.Field<bool>("is_field");
Run Code Online (Sandbox Code Playgroud)
但是我得到了例外:
指定演员表无效.
如何返回布尔值boolean而不是int?
Ada*_*Dev 20
从SQL方面,您可以:
SELECT field1, field2, CAST(1 AS BIT) AS is_field
FROM TABLE
Run Code Online (Sandbox Code Playgroud)
强制它作为BIT而不是int返回.这应该够了吧
更新: 您对使用此类CAST有何顾虑?SQL Server在优化时非常棒,例如上面的查询的执行计划会显示is_field是一个可以预先评估的常量(这里有一篇相关文章:http://msdn.microsoft.com/en-us/library/ ms175933.aspx).即使没有这个,如果你担心性能,那么你不应该担心它 - 这将是过早的优化.
| 归档时间: |
|
| 查看次数: |
7069 次 |
| 最近记录: |