在C#中查询SQL日期

Chr*_*ann 0 sql database

假设我有一个带有Date列的表.在我的C#应用​​程序中,我希望能够使用DateTime列上的LIKE运算符查询行.我的问题是,我该如何处理区域设置?

例如,如果当前区域设置设置为de-DE,则窗口的日期格式为dd.mm.yyyy.现在,用户可能会输入%2009之类的内容,从而产生以下查询:

select * from MyTable where to_char(MyDateColumn, 'dd.MM.yyyy') like '%2009'
Run Code Online (Sandbox Code Playgroud)

但是使用不同的区域设置,用户的输入当然会有所不同,因此to_char不再起作用.

我该如何解决这个问题?哦,我正在寻找一个独立于数据库的解决方案.

提前谢谢了!

Tom*_*lak 6

相信我,你不想在DATETIME列上使用LIKE运算符.

select * from MyTable where year(MyDateColumn) = 2009
Run Code Online (Sandbox Code Playgroud)

要么

select * from MyTable where datepart(yy, MyDateColumn) = 2009
Run Code Online (Sandbox Code Playgroud)