首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tsql中使用长度的子字符串

tsql中使用长度的子字符串
EN

Stack Overflow用户
提问于 2012-03-30 04:53:27
回答 2查看 2.2K关注 0票数 1

好的,所以我试着得到一个数字的最后两位中的第一位。以12345601为例,我想知道倒数第二个数字是否为0。如果为0,那么我需要它只选择int的最后一位,如果不同于0,则选择最后2位。这就是我所拥有的:

代码语言:javascript
复制
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 

不幸的是,它不起作用,这就是:

代码语言:javascript
复制
substring(cast (@myint as varchar(50)), len(@myint)-1, len(@myint)-1 )

该子字符串的值为01,但我需要它的值为0。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-03-30 05:01:08

试试这个:

代码语言:javascript
复制
SELECT CASE WHEN LEFT(RIGHT(@myint,2),1) = 0 THEN RIGHT(@myint,1) ELSE RIGHT(@myint,2) END
票数 3
EN

Stack Overflow用户

发布于 2012-03-30 05:00:12

试着这样做:

代码语言:javascript
复制
SELECT CAST(RIGHT(@myint,2) as int)

如果你将它转换为int类型,那么无论如何它都应该去掉前导零…

你可以通过下面的代码看到它的实际效果:

代码语言:javascript
复制
declare @myint int
set @myint= 12345601
SELECT CAST(RIGHT(@myint,2) as int)
set @myint= 12345611
SELECT CAST(RIGHT(@myint,2) as int)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9933367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档