SQL:如何仅对列

时间:2016-01-26 17:01:55

标签: sql select

我想知道如何仅对特定范围的字符执行SQL SELECT操作。 例如,我有一个SQL查询:

SELECT date,score from feedback GROUP BY date

现在这个日期格式为yyyy/mm/dd

因此,我想删除日期或删除日期并将其设为yyyy/mm,从而从日期中仅选择0到7个字符。

我到处寻找答案但找不到任何东西。我可以做这样的事吗?

SELECT date(7),score from feedback GROUP BY date(7)

2 个答案:

答案 0 :(得分:0)

在MSQL中,您使用 LEFT 其他用途 substring

SELECT LEFT('abcdefg',2);
-- 
ab 

所以在你的情况下

SELECT LEFT(date,7), score
FROM feedback
GROUP BY LEFT(date,7)

但是,如果您使用日期字段而不是文本字段,事情会更容易。

答案 1 :(得分:0)

假设您的日期字段是实际日期字段(甚至是日期时间字段),以下解决方案将起作用:

select left(convert(date ,getdate()),7) as Year_Month

getdate()更改为date字段,它看起来像是:

select left(convert(date , feedback.date),7) as Year_Month

两个查询都返回以下内容:

2016-01