Php sql错误中的强制转换函数
我有这个密码 选择CAST(输入端子id为INT) 但我不能让它运行,它总是说我在INT附近有一个错误。请帮助 编辑 这是我的php代码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',$
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;