在SQL中获取整数美元金额

在SQL中获取整数美元金额,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在尝试查找整数美元金额的交易(例如200.0000、5.0000、1350.0000) SQL服务器金额列是数字(38.4)类型 如何转换该列,以及转换后需要应用什么函数?您只需检查该列的截断情况即可 Select * From Table Where Amount = Cast(Amount as Int) 您只需检查列的截断 Select * From Table Where Amount = Cast(Amount as Int) 不是100%确定您想要什么,但如果您不想要任何分数

我正在尝试查找整数美元金额的交易(例如200.0000、5.0000、1350.0000)

SQL服务器金额列是数字(38.4)类型


如何转换该列,以及转换后需要应用什么函数?

您只需检查该列的截断情况即可

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

您只需检查列的截断

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

不是100%确定您想要什么,但如果您不想要任何分数,则只需将其转换为如下所示的整数:

SELECT CAST(COLUMN_NAME_YOU_DID_NOT_SAY AS INTEGER) AS Result
FROM TABLE_NAME_YOU_DID_NOT_SAY

查找没有小数的值

Select * 
 From  YourTable
 where Val = floor(Val)
编辑-示例

返回

100.0000

查找没有小数的值

Select * 
 From  YourTable
 where Val = floor(Val)
编辑-示例

返回

100.0000

在美国,200.0000没有意义,因为我们使用
作为分数分隔符。这让我不确定你想要什么。您不想要任何分数吗?这些是美元金额…200.00美元、5.00美元和1350.00美元。列名是amount,所以您想要美元和美分?在美国,200.0000没有意义,因为我们使用
作为分数分隔符。这让我不确定你想要什么。您不想要任何分数吗?这些是美元金额…200.00美元、5.00美元和1350.00美元。列名是amount,所以您想要美元和美分?我叫约翰。如果还需要最后两位数字为零,比如$200.00,该怎么办?@SirOliver其中Val/100=floor(Val/100)不,您需要强制转换(字段为数字(x,2)),它将给您小数点右边的数字。@Hogan不确定我是否同意。OP正在寻找“漂亮”的整数-参见编辑-Example@JohnCappelletti嗯?他在第一条评论中就展示了他想要的东西?谢谢约翰。如果还需要最后两位数字为零,比如$200.00,该怎么办?@SirOliver其中Val/100=floor(Val/100)不,您需要强制转换(字段为数字(x,2)),它将给您小数点右边的数字。@Hogan不确定我是否同意。OP正在寻找“漂亮”的整数-参见编辑-Example@JohnCappelletti嗯?他在第一条评论中就展示了他想要的东西?