我有一个列,其中我将domain_name转换为64位bigint字符串。
成功转换它。
CONV(SUBSTRING(CAST(SHA(TRIM("#arguments.domain_name#")) AS CHAR), 1, 16), 16, 10),
我想在另一个表中使用这个转换后的字符串并尝试将其存储为Integer。当我尝试像这样投射它时
CAST(arguments.siteid AS INT(11) AS INTEGER)
得到错误;您有SQL语法错误。
我试图以另一种方式存储它,如
<cfqueryparam value="#arguments.siteid#" cfsqltype="cf_sql_integer" />
虽然siteid为2147483647
,但它正在存储其他内容,例如14177909183865716377
。
任何人都可以帮助我如何施展它?
答案 0 :(得分:5)
将评论中的观察结果升级为答案,因为事实确实如此:
我想你会发现2147483647是你可以投入的最大价值 整数。我认为,您需要使用未签名的BIGINT,基于文档:“MySQL 5.0 Reference Manual :: 11 Data Types :: Integer Types (Exact Value)”。