likesqlserver
⑴ sqlserver ,用like 『日期' 查詢
查詢某一個時間范圍內的日期,應該用 BETWEEN AND
或者 > .. AND < ...
因為BETWEEN AND是取閉區間的,所以上面的代碼可以改成
select * from schele where begintime >= '2007-12-19' and begintime < '2007-12-20'
如果樓主一定堅持要用LIKE查詢,可以參考下面的方法:
select * from schele where convert( varchar(32), begintime, 20 ) LIKE '2007-12-20%'
其中對 convert 不理解,可以參考 T-SQL語法
第3個參數值為20,代表ODBC 規范的yyyy-mm-dd hh:mm:ss(24h)
⑵ sqlserverlike兩個欄位如何進行優化
優化SQL Server中的LIKE兩個欄位查詢,旨在提升性能與效率。下面詳細解析優化策略。
首先,確保為被查詢的欄位創建索引,以加速查詢過程。對於大量數據,考慮使用全文本索引(Full-text Indexing),具體實現參照SQL Server文檔。
其次,優化查詢語句,將LIKE操作替換為等於號(=search_text)或其他精確匹配方式。若需搜索特定字元或單詞,考慮採用全文本搜索(Full-text Search)。
業務邏輯層面,根據實際需求,將常用過濾條件靜態化,減少LIKE查詢頻率。此外,通過數據重構,如數據分片、冗餘等策略,提升查詢性能。
引入緩存技術,如在應用程序中保存查詢結果,以加速查詢速度。使用批量操作(UNION連接)減少網路傳輸和查詢次數,優化數據傳輸效率。
數據壓縮也是提高性能的有效手段,如使用COMPRESS和DECOMPRESS函數減少數據傳輸時間。
最後,優化硬體配置,考慮升級CPU、增加內存、使用SSD等措施提升查詢性能。
⑶ SQL中,LIKE 的 用法
SQL Server里有[^]。
樓主要的查詢是
select * from A where 姓名欄位 not like '[^王]%'
是就是非的非。