ColdFusion Left()函数的语法

thu*_*eek 0 sql syntax coldfusion

我在ColdFusion中有一个SQL语句,我想限制一个字段的大小.以下两种情况似乎都不起作用(它们不会出错,它们只是不限制字段).

INSERT INTO ListItems
VALUES ('#qGetListID.ID#',
      <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listItems[i].itemID#" />,
      <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="left(#listItems[i].itemName#,100)" />)
Run Code Online (Sandbox Code Playgroud)

INSERT INTO ListItems
VALUES ('#qGetListID.ID#',
      <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listItems[i].itemID#" />,
      left(<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listItems[i].itemName#" />,100))
Run Code Online (Sandbox Code Playgroud)

如何将最后一个字段限制为仅100个字符?

Dan*_*uis 6

你的语法是正确的,但你需要将整个内容放入#...#:

INSERT INTO ListItems
VALUES ('#qGetListID.ID#',
      <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listItems[i].itemID#" />,
      <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#left(listItems[i].itemName,100)#" />)
Run Code Online (Sandbox Code Playgroud)

否则,CF只会评估哈希内的部分,和值的其余部分将采取原样.