sql语句中如何查出int类型字段的前几位

例如:一个table表中一个int类型字段ID,字段中的值是123456如何查询出ID字段的前三位,查出结果是123。如果是字符串类型的用substring可以取到,那么... 例如: 一个table表中一个int类型字段 ID ,字段中的值是123456
如何查询出ID字段的前三位 ,查出结果是123。
如果是字符串类型的用substring可以取到,那么int类型的怎么取啊?
哪位大侠帮帮忙!谢谢!
展开
 我来答
方头大王八
推荐于2018-04-30 · TA获得超过121个赞
知道答主
回答量:35
采纳率:0%
帮助的人:34.4万
展开全部
select cast(substring(cast(table.id as char),1,3) as int) from tablename.
原理就是两次转换...先变成字符串 截取3位再转int.
如果是oracle数据库 截字符串函数为substr 数据类型为 varchar ,number
我已经运行成功了 你试试
jeason738
2008-08-18 · TA获得超过1716个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:274万
展开全部
首先,将int型的先转换为string类型,通过convert(varchar(50),'字段名')转换成字符串,再通过substring截取就可以了
select substring(convert(varchar(50),ID),1,3) from table表名
试试看!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiaoiue
2008-08-18
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
可以先取出int数值,把它转换成String,然后再取前3位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旋天渣观9129
2008-08-18 · TA获得超过1487个赞
知道大有可为答主
回答量:1443
采纳率:0%
帮助的人:1623万
展开全部
假设xxx字段是int型
cast(xxx as varchar)即可当一个字符串字段用了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rainee007
2008-08-19 · TA获得超过263个赞
知道小有建树答主
回答量:652
采纳率:0%
帮助的人:454万
展开全部
select substr(to_char(id), 4) from myTable;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式