2010-07-16 36 views
4

我試圖在訪問中編寫一個查詢,將數據庫中的結果作爲 在文本中 當然,我有RECEIPTNO列,其數據類型爲TEXT的表格成員,&我想從RECEIPTNO列RECEIPTNO其中1和10之間的所有結果將字符串數據類型轉換爲MS SQL中的Int QUERY訪問

而我試過以下代碼。

SELECT Cint(RECEIPTNO) FROM MEMBERSHIP where Cint(RECEIPTNO) BETWEEN 1 AND 10 

結果是:溢出, 任何想法?

+0

您是否將Jet/ACE/Access Integer數據類型與SQL Server Integer混淆?相應的Jet/ACE/Access數據類型是Long Integer,所以CLng()可能工作。但是@ Remou對Val()的建議完全避免了這個問題。 – 2010-07-16 19:33:08

回答

1

哦~~我得到了答案,&它的工作

&查詢像

SELECT Cint(RECEIPTNO) FROM MEMBERSHIP where RECEIPTNO BETWEEN 1 AND 10 
+0

抱歉上面的查詢不起作用,Coz For Above查詢僅適用於當RECEIPTNO列數據類型必須爲Number.But時,我想查詢當RECEIPTNO數據類型爲TEXT 請幫助 – 2010-07-16 06:56:44

+0

'CInt'不適用於字符串,僅適用於值。改用'Val' - 參見Fionnuala的答案! – 2014-10-29 13:27:27

4

你想:

SELECT RECEIPTNO FROM MEMBERSHIP 
WHERE Val(RECEIPTNO) BETWEEN 1 AND 10 
0

這給你想要的東西。 SS

SELECT RECEIPTNO FROM MEMBERSHIP 
WHERE Val(RECEIPTNO & "") BETWEEN 1 AND 10 

其他使用瓦爾(RECEIPTNO)將只嘗試的工作不知何故敷衍了事如果它確實怎麼一回事,因爲系統沒有按不承認RECEIPTNO爲文本等,很是好笑吧,看你傳遞一個數字而不是一個字符串。然而,爲了說服系統格式實際上是一個數字,將它與我已經完成的一個空字符串連接起來。

相關問題