我正在嘗試制作一個文本框,每當發生 textchanged 事件時,該函式將使用文本框文本搜索資料庫以查找正確的記錄。
例如:我有 3 行(姓名、電話號碼、生日 - 格式為年 - 月 - 日 - 在 SQL Server 中):
| 姓名 | 電話號碼 | 生日 |
|---|---|---|
| 約翰 | 482 | 2000-7-9 |
| 丹尼斯 | 912 | 2001-12-9 |
| 麥克風 | 123 | 2000-4-1 |
如果 textbox.text 是9or 9/,我想回傳 John 和 Dennis 的 2 行。
| 姓名 | 電話號碼 | 生日 |
|---|---|---|
| 約翰 | 482 | 2000-7-9 |
| 丹尼斯 | 912 | 2001-12-9 |
如果我在文本框中輸入帶有格式的日期,很容易搜索yyyy-MM-dd,查詢將是:
SELECT *
FROM database
WHERE birthday LIKE %textbox.text%
我試過了,它作業得很好,但只有當文本框中的日期遵循yyyy-MM-day格式時。無論如何它可以與dd/month/yyyy格式一起使用嗎?
uj5u.com熱心網友回復:
根據您的評論,這應該可以滿足您的需求。注意月份必須是兩位數:9/1匹配9/11但不匹配9/01
CREATE TABLE data_base ( name VARCHAR (25), id int, birthday date); GO?
insert into data_base values ('John', 482, '2000-7-9'), ('Dennis', 912, '2001-12-9'), ('Mike', 123, '2000-4-1'); GO
3 行受影響
declare @textboxtext VARCHAR(25); set @textboxtext = '09/07/2000' select * from data_base where convert(varchar(10),birthday,103) like CONCAT (@textboxtext,'%'); GO姓名 | 編號 | 生日 :--- | --: | :--------- 約翰 | 第482章 2000-07-09
declare @textboxtext VARCHAR(25); set @textboxtext = '9/' select * from data_base where convert(varchar(10),birthday,103) like CONCAT ('%',@textboxtext,'%'); GO姓名 | 編號 | 生日 :----- | --: | :--------- 約翰 | 第482章 2000-07-09 丹尼斯 | 912 | 2001-12-09
db<>在這里擺弄
uj5u.com熱心網友回復:
以下查詢顯示了如何使用不同的格式選項搜索作為“日期”給出的值。
您可以使用多個條件構建查詢 WHERE ... OR ...以匹配所有情況。
我更改了表的名稱,因為資料庫是保留字。
注意你不應該直接構造你的查詢,以避免 SQL 注入。為您使用的語言查找安全的方法。
declare @textboxtext VARCHAR(25); set @textboxtext = '/9' select * from data_base where day(birthday) LIKE replace(@textboxtext,'/',''); GO姓名 | 編號 | 生日 :----- | --: | :--------- 約翰 | 第482章 2000-07-09 丹尼斯 | 912 | 2001-12-09
declare @textboxtext VARCHAR(25); set @textboxtext = '09/07/2000' select * from data_base where birthday = convert(date,@textboxtext,103); GO姓名 | 編號 | 生日 :--- | --: | :--------- 約翰 | 第482章 2000-07-09
declare @textboxtext VARCHAR(25); set @textboxtext = '07/09/2000' select * from data_base where birthday = convert(date,@textboxtext,101) ; GO姓名 | 編號 | 生日 :--- | --: | :--------- 約翰 | 第482章 2000-07-09
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/463082.html
