在MS SQL中将真/假自动转换为1/0?

在MS SQL中将真/假自动转换为1/0?,sql,sql-server,ms-access,syntax,odbc,Sql,Sql Server,Ms Access,Syntax,Odbc,我有MS SQL Server 2012,正在执行以下SQL: INSERT INTO [table] ([isUpdated]) VALUES (False); 这会产生以下错误: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'False'. 据我所知,这是因为数据库中没有布尔类型,只有位字段,所以只接受0或1。我最近从过时的MS Access格式迁移到此数据库,它在SQL代码中接受True/Fals

我有MS SQL Server 2012,正在执行以下SQL:

INSERT INTO [table] ([isUpdated]) VALUES (False);
这会产生以下错误:

[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'False'.
据我所知,这是因为数据库中没有布尔类型,只有位字段,所以只接受0或1。我最近从过时的MS Access格式迁移到此数据库,它在SQL代码中接受True/False。这是我的连接字符串:

Driver={SQL Server};Server=localhost;Database=mydatabase;Uid=myuser;Pwd=mypassword;
是否有某种方法可以告诉MS SQL Server自动将真/假视为1/0


我正在运行很多旧代码,并且有很多旧SQL代码以True/False的形式发送,因此如果可能的话,我希望避免手动更新数百行代码。在Server Management Studio程序中,是否有可以添加到连接字符串或更改的设置?

您可以使用更新查询更新您的线路<代码>更新表格集合值=true,其中值=1,类似于这样。或者你的桌子太多了?不,没有办法。在你所有的脚本中,你必须用1替换true,用0替换false。zaphod:我有太多的表,我还以为mssql没有布尔字段类型呢?克劳森:那太糟糕了,你100%确定吗?re:“只接受0或1(作为
位的值)
列”-这不完全正确。SQL Server还将接受
插入[TableName]([isUpdated])值('True')
。不幸的是,这对你们并没有多大帮助。