如何用sql查询一个字符串的一部分
例如:2009/2/5我如何用sql查询到2009/2,不显示"/5"能不能不用取字段长度的,要是从数据库中取多条记录,长度就变化了啊,能用遍历的方法么。...
例如:2009/2/5我如何用sql查询到2009/2,不显示"/5"
能不能不用取字段长度的,要是从数据库中取多条记录,长度就变化了啊,能用遍历的方法么。 展开
能不能不用取字段长度的,要是从数据库中取多条记录,长度就变化了啊,能用遍历的方法么。 展开
8个回答
展开全部
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
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
展开全部
select substr('2009/2/5',1,6) from table_name
substr(A,m,n)函数,是将字段A从第m个字符截取n个字符。
substr(A,m,n)函数,是将字段A从第m个字符截取n个字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单纯用left或者substring是行不同的
比如说2009/12/15,那你是取6个字符 还是5个字符呢?
比如说2009/12/15,那你是取6个字符 还是5个字符呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试下这条语句 看是不是你要的效果
select replace(convert(varchar(7), convert(datetime, '2009/12/5'), 120), '-', '/')
如果是的 用下面的 sql 试下
select replace(convert(varchar(7), convert(datetime, 字段名), 120), '-', '/')
from 表名
select replace(convert(varchar(7), convert(datetime, '2009/12/5'), 120), '-', '/')
如果是的 用下面的 sql 试下
select replace(convert(varchar(7), convert(datetime, 字段名), 120), '-', '/')
from 表名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select substr('2009/2/5',1,6) from dual
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |