如何用sql查询一个字符串的一部分

例如:2009/2/5我如何用sql查询到2009/2,不显示"/5"能不能不用取字段长度的,要是从数据库中取多条记录,长度就变化了啊,能用遍历的方法么。... 例如:2009/2/5我如何用sql查询到2009/2,不显示"/5"
能不能不用取字段长度的,要是从数据库中取多条记录,长度就变化了啊,能用遍历的方法么。
展开
 我来答
nomanland
推荐于2016-01-22 · TA获得超过1218个赞
知道小有建树答主
回答量:958
采纳率:0%
帮助的人:605万
展开全部
substring('2009/2/5',1,6)
SUBSTRING (<expression>, <starting_ position>, length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。

left('2009/2/5',6)
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer_expression 个字符。
----------------------------------------------------------
CONVERT(varchar(7), CONVERT(datetime, '2009/2/5'), 120)
返回结果 2009-02

REPLACE(CONVERT(varchar(7), CONVERT(datetime, '2009/2/5'), 120), '-', '/')
返回结果 2009/02

CONVERT(varchar(7), CONVERT(datetime, '2009/12/5'), 120)
返回结果 2009-12

REPLACE(CONVERT(varchar(7), CONVERT(datetime, '2009/12/5'), 120), '-', '/')
返回结果 2009/12
yolanda_yang08
2009-03-05 · TA获得超过771个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:68.7万
展开全部
select substr('2009/2/5',1,6) from table_name

substr(A,m,n)函数,是将字段A从第m个字符截取n个字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zero_first
2009-03-05 · TA获得超过603个赞
知道小有建树答主
回答量:908
采纳率:0%
帮助的人:626万
展开全部
单纯用left或者substring是行不同的
比如说2009/12/15,那你是取6个字符 还是5个字符呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友46e5256ad9
2009-03-05 · TA获得超过767个赞
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:169万
展开全部
你试下这条语句 看是不是你要的效果
select replace(convert(varchar(7), convert(datetime, '2009/12/5'), 120), '-', '/')

如果是的 用下面的 sql 试下
select replace(convert(varchar(7), convert(datetime, 字段名), 120), '-', '/')
from 表名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
131******60
2009-03-05 · TA获得超过777个赞
知道小有建树答主
回答量:409
采纳率:33%
帮助的人:254万
展开全部
select substr('2009/2/5',1,6) from dual
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式