【问题标题】:How to resolve Mysql Near Sintax Error CI如何解决 Sql Near Syntax Error CI
【发布时间】:2018-09-15 16:19:10
【问题描述】:

大家好,我想问一下,我用 CI 3 开发了一些应用程序,我已经建立了自己的模型,但是 mysql 语法有一些错误,如何解决这个问题,或者我的 sql 查询错误?

function get_ref_bidang()
{
    $this->db->select("CAST(A.Kd_Urusan AS varchar(2))+'.'+RIGHT('0' + CAST(A.Kd_Bidang AS varchar(2)),2) AS Kd_Bidang_Gab");
    $this->db->select("CAST(A.Kd_Urusan AS varchar(2))+'.'+CAST(A.Kd_Bidang AS varchar(2)) +' - '+ A.Nm_Bidang AS Nm_Bidang_Gab");
    $this->db->from("Ref_Bidang A");
    return $this->db->get()->result();
}

感谢您的帮助..谢谢

【问题讨论】:

  • syntax error 不是 sintax error ...具有讽刺意味的是,这本身就是一个语法错误。
  • 您似乎正在尝试对字符串使用加法 (+)。这对我来说听起来不对。
  • @GordonLinoff 是的,没错..我正在尝试添加 (.) 点

标签: mysql sql codeigniter


【解决方案1】:

你可以尝试使用CONCAT函数inasted of +

Mysql 不支持CAST varchar 数据类型,你可以将cast 数据转为char

$this->db->select("CONCAT(CAST(A.Kd_Urusan AS char(2)),'.',RIGHT(CONCAT('0',CAST(A.Kd_Bidang AS char(2))),2)) AS Kd_Bidang_Gab");
$this->db->select("CONCAT(CAST(A.Kd_Urusan AS char(2)),'.',CAST(A.Kd_Bidang AS char(2)) ,' - ', A.Nm_Bidang) AS Nm_Bidang_Gab");

sqlfiddle

【讨论】:

  • 其相同的错误检查与您的 MariaDB 服务器版本相对应的手册,以便在 'varchar(2))、'.'、RIGHT(CONCAT('0',
  • 它的作品...谢谢,顺便说一句,CAST 不能转换为 Varchar 吗? @d-shih
  • @Coby 因为Mysql不支持CASTvarchar
  • 你能再帮我一个问题吗?关于sql语法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 2014-05-02
  • 2019-12-20
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
相关资源
最近更新 更多