SELECT field1,field2,1 as is_field FROM TABLE
在Visual Studio 2010中,我在做:
bool b = row.Field<bool>("is_field");
但我得到例外:
Specified cast is not valid.
如何将boolean值返回为boolean,而不是返回int?
SELECT field1,CAST(1 AS BIT) AS is_field FROM TABLE
强制它作为BIT而不是int返回.这应该够了吧
更新:你对这样使用CAST有什么担忧? sql Server是非常棒的优化例如上述查询的执行计划将显示is_field是一个常量,可以在前面进行一次评估(有一篇相关文章:http://msdn.microsoft.com/en-us/library/ms175933.aspx).即使没有这样的话,如果你关心性能,那么你不用担心 – 这将是非常早的优化.