高手教教我怎么写查询某个月(忽略年,日)的sql语句.
查询access里面的时间/日期格式.
我想查询属于某年的所有数据,不管月和日.
或是查询属于某月的所有数据,不管是哪一年的.和哪一天的.
或是查询属于某号的所有数据,不管是哪一年,哪一月的.
请问这种sql 查询语句该如何写呢?
还有我想当我不填写时.则自动查询所有的数据,
例如如我的月分选择为""月时,则随便哪个月都可以.
怎么解决.
希望各位大大们赐小弟一个明白.
[解决办法]
- VB.NET code
Private Function GetQueryString(ByVal value As String, ByVal way As String) As String Static sql As String = "SELECT * FROM table" If String.IsNullOrEmpty(value) Then Return sql Select Case way Case "年" Return String.Concat(sql, " WHERE", " YEAR(myFild) = ", value) Case "月" Return String.Concat(sql, " WHERE", " MONTH(myFild) = ", value) End Select Return sql End Function
[解决办法]
是这样的么?
- VB.NET code
Private Function returnSql(ByVal strYear As String, ByVal strMon As String, ByVal strDay As String) As String Dim strSql As String = "SELECT * FROM table WHERE 1 = 1 " If Not "".Equals(strYear) Then strSql &= "AND YEAR(Fild) = " & strYear & vbCrLf End If If Not "".Equals(strMon) Then strSql &= "AND MONTH(Fild) = " & strMon & vbCrLf End If If Not "".Equals(strDay) Then strSql &= "AND DAY(Fild) = " & strDay & vbCrLf End If Return strSql End Function