【发布时间】:2019-10-18 07:52:22
【问题描述】:
我正在寻找一种在请求中操纵月份的方法,该请求是从日期中获得的。 (这不是 MVVM)
我如何得到日期:
<Calendar x:Name="selectionMois" DisplayMode="Year" SelectionMode="SingleDate"
DisplayModeChanged="selectionMois_DisplayModeChanged"
HorizontalAlignment="Left" Margin="0,55,0,0" VerticalAlignment="Top"
AllowDrop="True" Height="185" Width="226">
和
private void selectionMois_DisplayModeChanged( object sender, CalendarModeChangedEventArgs e )
{
selectionMois.DisplayMode = CalendarMode.Year;
this.dtMois = selectionMois.DisplayDate;
LabelMois_Refresh();
if( listAgentsCoches != null )
{
if( listAgentsCoches.Count > 0 ) BtImprimer.IsEnabled = true;
else BtImprimer.IsEnabled = false;
}
else BtImprimer.IsEnabled = false;
}
this.dtMonth 包含"YYYYY\MM\01" 格式的日期。
现在我有一个查询或想选择在所选月份有合同(合同)的代理。
我想做这样的事情:
StSQL ="SELECT DISTINCT Agent_Etablissement.Matricule, Nom, Prénom FROM Agent_Etablissement, Agents, contrats
INNER JOIN CONTRATS ON Contrats.Matricule = Agents.Matricule AND Contrats.IDEtablissement=Agent_Etablissement.IDEtablissement
WHERE a contract exists for the chosen month
“Contrats”表包含开始日期和结束日期(这个可以为空)。
如何仅选择所选月份中存在的那些合同?
编辑:SQL 服务器数据库
【问题讨论】:
-
由于日期时间查询可能是特定于数据库的,因此您使用哪个数据库会很有趣。
-
SQL 服务器,对不起!
-
您想要获得与所选月份的开始或结束日期匹配的任何合同,还是想要获得跨越所选月份的任何合同?在您的示例中,第一行将返回什么?它跨越数年,所以您希望每个月都匹配吗?还是只有 12 月或 6 月?另外,您是否考虑过这一年?
-
例如,如果我选择 10 月,则所有存在于 10 月的合同:无论是在 12 月结束,还是在 10 月 15 日结束。感谢您的时间。
-
是否保证日期 fin 将始终包含月份的最后一天,例如2019-02-28 和 2020-02-29?
标签: c# sql sql-server wpf