• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Hỏi cách Run SQL Server Querry lấy between date in Format Varchar

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

tartaros.2019
Thành viên chính thức
Thành viên chính thức
Posts: 17
Joined: Sat 30/11/2019 5:19 pm
Has thanked: 5 times

Hỏi cách Run SQL Server Querry lấy between date in Format Varchar

Postby tartaros.2019 » Sun 20/09/2020 6:46 pm

Chào các bác ạ. Chả là em đang viết 1 apps bằng Vb.net. Em đang mắc ở chỗ này ạ mong các bác giúp em với ạ.


Em run querry để lấy dữ liệu trong khoảng thời gian từ 01/09/2020 đến 30/09/2020 bằng querry:

select * from TableName where date BETWEEN '01/09/2020' and '30/09/2020'

Column: "date" em để ở data type là: varchar(10)

Sau khi run querry thì kết quả trả về như sau:

Image

Do em để Column: "date" ở Varchar nên querry tìm kiếm trả kết quả ra không chính xác trong thời gian từ 01/9 đến 30/9. Mà nó chỉ tính số ngày chứ ko tính số tháng. Cho em hỏi bây giờ có cách nào khắc phục vấn đề này không ạ.

Nếu chuyển Column: "date" sang định dạng "date" thì run querry đều cho kết quả chính xác nhưng không hiểu sau em cứ debug app là báo lỗi.

Mong các bác chỉ giúp em với ạ.



muaphonui_2010
Thành viên ưu tú
Thành viên ưu tú
Posts: 546
Joined: Fri 26/11/2010 1:15 pm
Location: TP.HCM
Has thanked: 190 times
Been thanked: 34 times
Contact:

Re: Hỏi cách Run SQL Server Querry lấy between date in Format Varchar

Postby muaphonui_2010 » Mon 21/09/2020 5:19 pm

Mình nghĩ chắc bạn chưa Format
Mình có thể thử như thế này:
WHERE (ngaythang Between '" & Format((giá trị từ ngày), "MM/dd/yyyy") & "' and '" & Format((giá trị đến ngày), "MM/dd/yyyy") & "')

tartaros.2019
Thành viên chính thức
Thành viên chính thức
Posts: 17
Joined: Sat 30/11/2019 5:19 pm
Has thanked: 5 times

Re: Hỏi cách Run SQL Server Querry lấy between date in Format Varchar

Postby tartaros.2019 » Mon 21/09/2020 8:01 pm

Em cảm ơn anh. Đúng là em ko thêm format trong querry ạ. Nhưng em thử format như anh chỉ thì không trả ra kết quả nào cả. Cũng không báo lỗi querry.

- Column "date" em đang để ở dạng Varchar (10) - value dạng: 30/09/2020

anh giúp em với ạ.

muaphonui_2010
Thành viên ưu tú
Thành viên ưu tú
Posts: 546
Joined: Fri 26/11/2010 1:15 pm
Location: TP.HCM
Has thanked: 190 times
Been thanked: 34 times
Contact:

Re: Hỏi cách Run SQL Server Querry lấy between date in Format Varchar

Postby muaphonui_2010 » Tue 29/09/2020 7:38 am

Vậy bạn Thử cái này thử
WHERE (CONVERT(date, ngaythang, 104) Between '" & Format((giá trị từ ngày), "MM/dd/yyyy") & "' and '" & Format((giá trị đến ngày), "MM/dd/yyyy") & "')
Hy vong là được.


Return to “Visual Basic .NET và C# (VB.NET & C#)”

Who is online

Users browsing this forum: No registered users and 11 guests