好的,所以我试着得到一个数字的最后两位中的第一位。以12345601为例,我想知道倒数第二个数字是否为0。如果为0,那么我需要它只选择int的最后一位,如果不同于0,则选择最后2位。这就是我所拥有的:
declare @myint int
set @myint= 12345601
select case when substring(cast (@myint as varchar(50) ) , len(@myint)-1, len(@myint)-1 ) = 0 then right(@myint, 1)
else right(@myint, 2) end 不幸的是,它不起作用,这就是:
substring(cast (@myint as varchar(50)), len(@myint)-1, len(@myint)-1 )该子字符串的值为01,但我需要它的值为0。有什么想法吗?
发布于 2012-03-30 05:01:08
试试这个:
SELECT CASE WHEN LEFT(RIGHT(@myint,2),1) = 0 THEN RIGHT(@myint,1) ELSE RIGHT(@myint,2) END发布于 2012-03-30 05:00:12
试着这样做:
SELECT CAST(RIGHT(@myint,2) as int)如果你将它转换为int类型,那么无论如何它都应该去掉前导零…
你可以通过下面的代码看到它的实际效果:
declare @myint int
set @myint= 12345601
SELECT CAST(RIGHT(@myint,2) as int)
set @myint= 12345611
SELECT CAST(RIGHT(@myint,2) as int)https://stackoverflow.com/questions/9933367
复制相似问题