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

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:14:10
例如:2009/2/5我如何用sql查询到2009/2,不显示"/5"
能不能不用取字段长度的,要是从数据库中取多条记录,长度就变化了啊,能用遍历的方法么。

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

你试下这条语句 看是不是你要的效果
select replace(convert(varchar(7), convert(datetime, '2009/12/5'), 120), '-', '/')

如果是的 用下面的 sql 试下