我想知道如何仅对特定范围的字符执行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)
答案 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