我正在尝试查找与美元金额(例如200.0000,5.0000,1350.0000)相关的交易。在SQL中获取一个美元金额
SQL服务器金额列是NUMERIC(38.4)类型。
我该如何转换它,我需要申请什么功能?
我正在尝试查找与美元金额(例如200.0000,5.0000,1350.0000)相关的交易。在SQL中获取一个美元金额
SQL服务器金额列是NUMERIC(38.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
谢谢约翰。如果还需要最后两位数字是零如$ 200.00? –
@SirOliver其中Val/100 = floor(Val/100) –
不,您需要CAST(字段为NUMERIC(x,2)),它会将您指向小数点右边的数字。 – Hogan
您可以检查列的截断。
Select *
From Table
Where Amount = Cast(Amount as Int)
不是100%肯定,你想要什么,但如果你不希望任何部分,然后只投一个整数这样的:没有小数
SELECT CAST(COLUMN_NAME_YOU_DID_NOT_SAY AS INTEGER) AS Result
FROM TABLE_NAME_YOU_DID_NOT_SAY
在美国200.0000因为我们使用的'无厘头.'作为小数分隔符。这使我不确定你想要什么。你不想要任何分数? – Hogan
这些是美元金额.... $ 200.00,$ 5.00和$ 1350.00。列名是金额 –
所以你想美元和美分?我 – Hogan