Php sql错误中的强制转换函数

Php sql错误中的强制转换函数,php,sql,casting,Php,Sql,Casting,我有这个密码 选择CAST(输入端子id为INT) 但我不能让它运行,它总是说我在INT附近有一个错误。请帮助 编辑 这是我的php代码 public function selectTerminals($id){ $form = $this->getUserData(); $form['id'] = $id; $DAO = $this->getDAO('DAO'); $result=$DAO->query('selectTerminals',$

我有这个密码

选择CAST(输入端子id为INT)

但我不能让它运行,它总是说我在INT附近有一个错误。请帮助

编辑

这是我的php代码

public function selectTerminals($id){
    $form = $this->getUserData();
    $form['id'] = $id;

    $DAO = $this->getDAO('DAO');
    $result=$DAO->query('selectTerminals',$form);
    $y = sizeof($result);


        //$result = terminal ids selected

    $ids = join(',',$result); // 
    $form['terminal_id'] = $ids;
    $form['array_count'] = $y;
    $DAO = $this->getDAO('DAO');
    $result1 = $DAO->query('displayTerminals',$form);
    $sample = sizeof($ids);

    echo $result1;

}
删除分号(
)。
应该是:
选择强制转换(输入终端标识为INT)

(假设查询的其余部分,即来自
,其中
子句有效…)

编辑:
根据@Arion的评论,这假设您正在使用MS-SQL,它需要如下所示:

SELECT CAST(i_terminal_id AS INT) FROM Table
在Oracle/PLSQL中

CAST函数将一种数据类型转换为另一种数据类型

CAST函数的语法为:

强制转换({expr |(子查询)|多集(子查询)}为类型_名称)

//这会将日期(即:2003年8月22日)转换为varchar2(30) 价值观

CONVERT函数将字符串从一个字符集转换为 另一个

CONVERT函数的语法为:

转换(字符串1,字符集到[char\u set\u from])

string1是要转换的字符串

char\u set\u to是要转换为的字符集

char\u set\u from是要从中转换的字符集


如需进一步参考,请

您使用的RDM是什么?mysql、mssql、oracel等?查询的其余部分在哪里<代码>终端id
必须来自某个地方。我想您在子句中缺少了一个
。I\u terminal\u id是一个输入。它的值来自我的php代码。@Mureinik编辑了我的问题。如果OP没有使用mysql?正当你知道他不支持我们mysql吗?但我的i_终端id是一个输入。这个值来自我的php代码,我在上面的问题中已经说过了,但是我的i_terminal_id的值只是从我的php代码中传递过来的。这是一个输入。我没有从中得到价值database@maecym那么你能给我们输入参数中可能的值吗。?
SELECT CAST(i_terminal_id AS INT) FROM DUAL
select CAST( '22-Aug-2003' AS varchar2(30) ) from dual;