2017-03-31 57 views
1

我正在嘗試查找與美元金額(例如200.0000,5.0000,1350.0000)相關的交易。在SQL中獲取一個美元金額

SQL服務器金額列是NUMERIC(38.4)類型。

我該如何轉換它,我需要申請什麼功能?

+0

在美國200.0000因爲我們使用的'無厘頭.'作爲小數分隔符。這使我不確定你想要什麼。你不想要任何分數? – Hogan

+0

這些是美元金額.... $ 200.00,$ 5.00和$ 1350.00。列名是金額 –

+0

所以你想美元和美分?我 – Hogan

回答

4

查找值

Select * 
From YourTable 
where Val = floor(Val) 

編輯 - 示例

Declare @YourTable table (Val decimal(10,4)) 
Insert Into @YourTable values 
(100.25), 
(5.00), 
(100.00) 

Select * 
From @YourTable 
where Val/100 = floor(Val/100) 

返回

100.0000 
+0

謝謝約翰。如果還需要最後兩位數字是零如$ 200.00? –

+0

@SirOliver其中Val/100 = floor(Val/100) –

+0

不,您需要CAST(字段爲NUMERIC(x,2)),它會將您指向小數點右邊的數字。 – Hogan

2

您可以檢查列的截斷。

Select * 
From Table 
Where Amount = Cast(Amount as Int) 
0

不是100%肯定,你想要什麼,但如果你不希望任何部分,然後只投一個整數這樣的:沒有小數

SELECT CAST(COLUMN_NAME_YOU_DID_NOT_SAY AS INTEGER) AS Result 
FROM TABLE_NAME_YOU_DID_NOT_SAY 
相關問題