SQL查询数字字段的第一个数字

时间:2014-09-26 19:27:10

标签: sql db2

我在IBM db2数据库中有一个NUMERIC(5,0)字段,我只需要前4位数字。我还没有能够使用CAST实现我想要的目标。

如何在不使用字符串并使用子字符串?

的情况下在SQL中实现此目的

Ex:13525 - > 1352

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

为什么不将其转换为字符串并使用子字符串?

你也可以这样做:

select (case when field >= 10000 then floor(field / 10) else field end)

这假设如果字段包含1234,那么您需要1234而不是0123

编辑:

您还可以使用两次调用cast()来使用字符串:

select cast(left(cast(field as varchar(5)), 4) as numeric(4, 0))

我还应该注意到,在许多数据库中,您可以这样做:

select left(field, 4)

,数据库将进行适当的转换。我附近没有DB2来检查这个。