MSSQL中的SELECT出现问题


Having issues with SELECT in MSSQL

AM正在CodeIgniter中处理一个项目,并试图将我的项目数据库从mysql更改为mssql,但不幸的是,我所有在mysql中运行良好的sql代码都开始产生我不理解的错误。以下方法用于验证是否存在具有给定TIN的用户:

public function verify_user_tin( $user_tin )
{
    $this->usid = $user_tin;
    $this->db->select('taxpayer_id ')
        ->from('crirs_tin')
        ->where('tin', $this->usid)
        ->limit(1);
    $query = $this->db->get();
    return ( $query->num_rows() == 1 ? true : false );
}

我得到以下错误:

Error Number: HY000/208
Error Number: HY000/208
General SQL Server error: Check messages from the SQL Server [208] (severity 16) [SELECT TOP 1 "taxpayer_id" FROM "crirs_tin" WHERE "tin" = '1903798293-0001' ]
SELECT TOP 1 "taxpayer_id" FROM "crirs_tin" WHERE "tin" = '1903798293-0001'
Filename: models/Account_m.php
Line Number: 45

为什么在mssql中简单的SELECT看起来很难?请问我该怎么解决?

尝试删除表名周围的双引号,如

SELECT TOP 1 "taxpayer_id" FROM crirs_tin WHERE "tin" = '1903798293-0001'

(OR)尽管使用SQL Server特定的语法效果更好

SELECT TOP 1 [taxpayer_id] FROM crirs_tin WHERE [tin] = '1903798293-0001'