Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 3 123 CuốiCuối
Kết quả 1 đến 10 của 22
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    hà nội
    Bài viết
    0

    Tìm ngày sinh (smalldatetime) khi nhập vào từ dd/mm đến dd/mm ? ?

    Hi.
    Trong database trường ngaySinh mình để kiểu smalldatetime, giờ mình cho người dùng nhập tìm kiếm ngày sinh theo kiểu "từ ngày - đến ngày", ví dụ nhập vào từ ngày = 01/04, đến ngày = 10/04 thì query thế nào để ra đc những người có ngày sinh theo khoảng đã nhập vào nhỉ ?

    Thanks all

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi luxubu
    Hi.
    Trong database trường ngaySinh mình để kiểu smalldatetime, giờ mình cho người dùng nhập tìm kiếm ngày sinh theo kiểu "từ ngày - đến ngày", ví dụ nhập vào từ ngày = 01/04, đến ngày = 10/04 thì query thế nào để ra đc những người có ngày sinh theo khoảng đã nhập vào nhỉ ?

    Thanks all
    Mã:
    SELECT * FROM table1 WHERE ngaysinh BETWEEN '01/04' AND '10/04'

  3. #3
    theo Ken nên để cột ngày đó là nvarchar(10) đi bạn khi đó so sánh đk sẽ dễ dàng hơn, như cách của bạn trên dùng BETWEEN....AND thì đúng rùi nhưng sẽ ko ra đúng đk đâu

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thanks pac, vậy còn tìm theo tháng thì sao pac ? Ví dụ hco 1 comboBox chứa 12 tháng, chọn tháng nào thì tìm theo tháng đó ?

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi nvluong_it
    [CODE]SELECT * FROM table1 WHERE ngaysinh BETWEEN '01/04' AND '10/04'
    Cái này bị báo lỗi pac ạ

    Conversion failed when converting character string to smalldatetime data type.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi luxubu
    Cái này bị báo lỗi pac ạ
    chuyen sang DateTime di
    rùi sữa lại:

    Mã:
    SELECT * FROM table1 WHERE ngaysinh BETWEEN '04/01/2011' AND '04/10/2011'

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi nvluong_it
    chuyen sang DateTime di
    rùi sữa lại:

    [CODE]SELECT * FROM table1 WHERE ngaysinh BETWEEN '04/01/2011' AND '04/10/2011'
    Vấn đề là yêu cầu là tìm những người có ngày sinh từ dd/mm đến dd/mm, còn năm thì bất kỳ mà, kiểu tìm những người sinh nhật trong tháng vậy đó

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    nhưng mà kiểu smallDateTime có dạng vậy nè: nên yêu cầu của bạn là không thể, bạn có thể tham khảo ở đây:http://anubhavg.wordpress.com/2009/0...l-server-2005/

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đc rồi pac ạ;
    Mã:
    SELECT * FROM tblNhanVien WHERE (day(ngaySinh) between 1 and 30)  and (month(ngaySinh) between 1 and 12)
    Pac nào có cách nào hay hơn thì post nhé [IMG]images/smilies/smile.png[/IMG]

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi luxubu
    Đc rồi pac ạ;
    Mã:
    SELECT * FROM tblNhanVien WHERE (day(ngaySinh) between 1 and 30)  and (month(ngaySinh) between 1 and 12)
    Pac nào có cách nào hay hơn thì post nhé [IMG]images/smilies/smile.png[/IMG]
    nếu làm vậy nó sẽ lỗi vào tháng 2 và các tháng có 31 ngày
    viết Store Procedue mới giải quyết đc vấn đề

 

 
Trang 1 của 3 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •