2013-12-16 76 views
1

我有一列,其中我將domain_name轉換爲64位bigint字符串。如何在整數列中存儲64位字符串?

它成功轉換它。

CONV(SUBSTRING(CAST(SHA(TRIM("#arguments.domain_name#")) AS CHAR), 1, 16), 16, 10), 

我想在另一個表中使用此轉換後的字符串,並試圖將其存儲爲整數。當我試圖像這樣鑄造它

CAST(arguments.siteid AS INT(11) AS INTEGER) 

出錯;你有一個SQL語法錯誤。

我試圖將其存儲在另外一種方式類似

<cfqueryparam value="#arguments.siteid#" cfsqltype="cf_sql_integer" /> 

它存儲其他東西一樣2147483647雖然SITEID是14177909183865716377。 任何人都可以幫助我如何施展它?

+1

我想你會發現'2147483647'是你可以放入一個整數中的最大值。你需要使用一個無符號的'BIGINT',我想:http://dev.mysql.com/doc/refman/5.0/en/integer-types.html –

+0

所以聽起來好像沒有辦法投它整數?但無論如何非常感謝,我只是使用'unsigned bigint',它的工作原理。 –

+2

不,不可能將太大的東西放入太小的容器中。 IT和物理學一樣。 –

回答

相關問題