Самое читаемое, IMO:
SELECT * FROM TABLE WHERE Date >
DATEADD(yy, -1, CONVERT(datetime, CONVERT(varchar, GETDATE(), 101)))
, Который:
существуют варианты с DATEDIFF и DATEADD для получения Вас полночь сегодня, но они имеют тенденцию быть довольно тупыми (хотя немного лучше на производительности - не, что Вы заметили бы по сравнению с чтениями, требуемыми выбирать данные).
Если вы генерируете схему из классов Java, вам следует изменить следующее:
public class Game {
private XMLGregorianCalendar startTime;
@XmlElement
@XmlSchemaType(name = "time")
public XMLGregorianCalendar getStartTimeForSchema() {
return startTime;
}
public void setStartTimeForSchema(XMLGregorianCalendar startTime) {
this.startTime = startTime;
}
@XmlTransient
public Date getStartTime() {
return startTime.toGregorianCalendar().getTime();
}
@XmlTransient
public void setStartTime(Date startTime) {
GregorianCalendar gc = (GregorianCalendar) GregorianCalendar.getInstance();
gc.setTime(startTime);
DatatypeFactory dataTypeFactory = null;
try {
dataTypeFactory = DatatypeFactory.newInstance();
} catch (DatatypeConfigurationException ex) {
// log
}
this.startTime = dataTypeFactory.newXMLGregorianCalendar(gc);
}
}