SQL 服务器通配符 LIKE 搜索

SQL Server wildcard LIKE search

我正在尝试使用通配符过滤记录

sSubStr = "WHERE [Document Name] LIKE '%" + sFilter + "%' "

当我尝试找到由字母字符组成的列 [Document Name] 的一部分时,一切正常,但当我使用数字组合时 return 没有任何内容,例如 DIB20200118.

示例数据:THIS.IS.MY.DOCUMENT.NAME.DIB20200118.20210332.DOC

我发现改变 Listview 的填充方式会有所不同。不知何故,第一条记录在加载列表视图后从未显示过。记录数总是少一

Dim sSQL As String
            Dim sSubStr As String
            If sFilter = "" Then
                sSQL = "SELECT Id,[Document Type],[Document Name],DISnummer,XPostnummer,[Last Accessed],[Document Location] FROM Archief ORDER BY Id DESC"
            Else
                sSubStr = "WHERE [Document Name] LIKE '%" + sFilter + "%' "
                sSQL = "SELECT Id,[Document Type],[Document Name],DISnummer,XPostnummer,[Last Accessed],[Document Location] FROM Archief " + sSubStr + " ORDER BY Id DESC"
            End If
            Dim cmd As New OleDbCommand(sSQL, con)
            Using dr As OleDbDataReader = cmd.ExecuteReader
                Dim dis As String
                Dim docImage As VariantType
                Dim items As New List(Of ListViewItem)

                If dr.HasRows() Then

                    ListView1.BeginUpdate()
                    ListView1.Items.Clear()

                    While dr.Read
                        If dr("Document Type").ToString = "PDF" Or dr("Document Type").ToString = "pdf" Then
                            docImage = (ImageList1.Images.Count - 1)
                        ElseIf dr("Document Type").ToString = "doc" Or dr("Document Type").ToString = "docx" Then
                            docImage = (ImageList1.Images.Count - 3)
                        ElseIf dr("Document Type").ToString = "ppt" Or dr("Document Type").ToString = "pptx" Then
                            docImage = (ImageList1.Images.Count - 2)
                        ElseIf dr("Document Type").ToString = "xls" Or dr("Document Type").ToString = "xlsx" Then
                            docImage = (ImageList1.Images.Count - 4)
                        End If

                        dis = dr("Last Accessed").Substring(0, dr("Last Accessed").IndexOf(" "))
                        items.Add(New ListViewItem(New String() {"", dr("Document Name").ToString, dr("DISnummer").ToString, dr("XPostnummer").ToString, dis, dr("Id").ToString, dr("Document Location").ToString}, docImage))

                    End While
                    ListView1.Items.AddRange(items.ToArray)
                    ListView1.EndUpdate()
                Else
                    MsgBox("Nothing was found.",, Title)
                End If
                dr.Close()

            End Using