Это не очень трудная проблема, но, поскольку я изучаю язык, я хочу, чтобы мой код был довольно элегантным, и мне это не нравится:
match aver with
| 1 -> @" GROUP BY
DATEPART(YEAR, DT.[Date]),
DATEPART(MONTH, DT.[Date]),
DATEPART(DAY, DT.[Date]),
DATEPART(HOUR, DT.[Date]),
(DATEPART(MINUTE, DT.[Date]) / 10)"
| 2 -> @" GROUP BY
DATEPART(YEAR, DT.[Date]),
DATEPART(MONTH, DT.[Date]),
DATEPART(DAY, DT.[Date]),
DATEPART(HOUR, DT.[Date])"
| 3 -> @" GROUP BY
DATEPART(YEAR, DT.[Date]),
DATEPART(MONTH, DT.[Date]),
DATEPART(DAY, DT.[Date])"
| 4 -> @" GROUP BY
DATEPART(YEAR, DT.[Date]),
DATEPART(MONTH, DT.[Date])"
| _ -> @" GROUP BY
DATEPART(YEAR, DT.[Date]),
DATEPART(MONTH, DT.[Date]),
DATEPART(DAY, DT.[Date]),
DATEPART(HOUR, DT.[Date]),
DATEPART(MINUTE, DT.[Date])"
потому что я действительно хочу это так:
match aver with
| 4 -> @" GROUP BY
DATEPART(YEAR, DT.[Date]),
DATEPART(MONTH, DT.[Date])"
| 3 -> 2 + @",DATEPART(DAY, DT.[Date])"
| 2 -> 3 + @",DATEPART(HOUR, DT.[Date])"
| 1 -> 3 + @", (DATEPART(MINUTE, DT.[Date]) / 10)"
| _ -> 3 + @", DATEPART(MINUTE, DT.[Date])"
есть ли способ использовать другие совпадения в некоторых совпадениях?