SQL如何查询表中某一列中的数据的前几位

如:table120120012012002201200320110012011002SQL语句查询后结果:table120122011... 如:
table1
2012001
2012002
2012003
2011001
2011002
SQL语句查询后
结果 :
table1
2012
2011
展开
 我来答
llost911
2012-12-11 · TA获得超过151个赞
知道答主
回答量:178
采纳率:100%
帮助的人:106万
展开全部
问一下你这个是char型的数据么
SQL当中
substring('2012001',1,4)得到的会是2012,后面两个参数看得懂吧,1,起始位置,4截取位数
如果你的2012001是date型的,或者int型其他类型,先强转成char型的,在用上面的substring截取
追问
我只是用那数字举个例子其实是char类型的数字前边还有字母呢
SQL查询语句中也可以用substring吗?应该怎么写?
这样对吗??select distinct left (table1,4) from列名
追答
select substring(cast(table1 as varchar(20)),1,4) from 表名   你的table1是列名吧,我给你写的这个table1是列名,我不管你类型,先强转了。肯定我这个是可以的,我在SQL试过了刚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你以为你以为de
推荐于2017-09-18 · 知道合伙人软件行家
你以为你以为de
知道合伙人软件行家
采纳数:503 获赞数:1339
某培训机构毕业,大专学位。工作2年,喜欢百度知道答题,可以互相学习共通过进步。

向TA提问 私信TA
展开全部
  1. 用order 倒叙字段

  2. select * from user where 1=1 order by age desc

  3. 这个是在用户表中,用年龄倒序的

  4. 去3行数据 mysql的 select * from user where 1=1 order by age desc limit 3

  5. 去3行数据 oracle的 select * from user where 1=1 order by age desc rownum 3

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b68195
2012-12-11 · TA获得超过1520个赞
知道大有可为答主
回答量:1773
采纳率:100%
帮助的人:1711万
展开全部
select left(字段名,4) from 表
追问
这个不用distinct吗?
追答
不加distinct有重复值,加distinct没有重复值。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杜大老爷
2012-12-11 · TA获得超过121个赞
知道答主
回答量:252
采纳率:0%
帮助的人:89.5万
展开全部
这个太简单,留给楼下解答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kkoou1983
2012-12-11 · 超过25用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:37.9万
展开全部
查一下函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式