Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Cách kiểm tra khoảng thời gian đã tồn tại trong SQL?

  1. #1
    Ngày gia nhập
    10 2010
    Nơi ở
    HUI
    Bài viết
    211

    Mặc định Cách kiểm tra khoảng thời gian đã tồn tại trong SQL?

    Chào các bạn!
    Mình có tạo một chương trình khuyến mại được tạo từ khoảng thời gian A tới B.
    Ví dụ như mình đã tạo một chương trình khuyến mại từ ngày 06/09/2013 đến ngày 10/09/2013.
    Trong lần tạo tiếp theo nếu có ngày bắt đầu hoặc ngày kết thúc thuộc khung thời gian đã có trong hệ thống thì không cho tạo.
    Để đảm bảo hệ thống lúc nào cũng chỉ có duy nhất một chương trình khuyến mại.
    Vậy khi tạo mới mình cần phải kiểm tra sự tồn tại như thế nào?
    Bạn nào biết chỉ giúp mình nhé.

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Bạn sử dụng datediff để kiểm tra xem cái bắt đầu, kết thúc định tạo mới có thuộc khoảng nào ko là dc
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  3. #3
    Ngày gia nhập
    08 2010
    Bài viết
    85

    Mặc định Re: Hỏi cách kiểm tra khoảng thời gian đã tồn tại trong SQL

    Bạn kiểm tra xem thời gian bắt đầu hoặc kết thúc của bản ghi mới thêm có thuộc trong khoảng từ d1 đến d2 của bản ghi nào không là được.
    SQL Code:
    1. SELECT COUNT(*) FROM [TABLE] WHERE (d1 <= @d1 AND d2 >= @d1) OR (d1 <= @d2 AND d2 >= @d2)
    Cái này trả về lớn hơn 0 thì đã tồn tại khoảng thời gian, đưa vào trigger hay truy vấn trước khi tạo là tùy bạn; tự viết tiếp nhá.

  4. #4
    Ngày gia nhập
    10 2010
    Nơi ở
    HUI
    Bài viết
    211

    Trích dẫn Nguyên bản được gửi bởi mrfour.it Xem bài viết
    Bạn sử dụng datediff để kiểm tra xem cái bắt đầu, kết thúc định tạo mới có thuộc khoảng nào ko là dc
    Chào bạn! Cám ơn bạn đã hướng dẫn, nhưng bạn có thế ví dụ cụ thể hơn được không

  5. #5
    Ngày gia nhập
    10 2010
    Nơi ở
    HUI
    Bài viết
    211

    Trích dẫn Nguyên bản được gửi bởi manh9011 Xem bài viết
    Bạn kiểm tra xem thời gian bắt đầu hoặc kết thúc của bản ghi mới thêm có thuộc trong khoảng từ d1 đến d2 của bản ghi nào không là được.
    SQL Code:
    1. SELECT COUNT(*) FROM [TABLE] WHERE (d1 <= @d1 AND d2 >= @d1) OR (d1 <= @d2 AND d2 >= @d2)
    Cái này trả về lớn hơn 0 thì đã tồn tại khoảng thời gian, đưa vào trigger hay truy vấn trước khi tạo là tùy bạn; tự viết tiếp nhá.
    Cám ơn bạn đã trả lời. Nếu làm như bạn vẫn còn 1 trường hợp nữa là d1 và d2 đều nằm ngoài nhưng khoảng thời gian đã có nằm trong d1 và d2. Vậy nên mình bổ xung thêm cho hoàn chỉnh như sau

    SQL Code:
    1. SELECT COUNT(*) FROM [TABLE] WHERE (d1 <= @d1 AND d2 >= @d1) OR (d1 <= @d2 AND d2 >= @d2) OR (@d1 <= d1 AND d2 <= @d2)

  6. #6
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Mặc định Cách kiểm tra khoảng thời gian đã tồn tại trong SQL?

    Mình thấy bạn xét hết các trường hợp rồi còn gì. Dùng datediff là cách viết khác cho ngon thôi. Vì thời gian so sánh mà có thêm cái đuôi (hh:mm:ss) sẽ không đúng khi nó khác nhau. Dùng DateDiff theo khoảng thời gian nào đó(day,month,...) thì phần khác sẽ ko bị ảnh hướng như dùng "=" thông thường.
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

Các đề tài tương tự

  1. thời gian trên datetimeinput không được nằm trong khoản thời gian có sẳn
    Gửi bởi hungzany trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 04-06-2013, 09:23 AM
  2. Algorithm Làm thế nào trừ 1 khoảng thời gian trong C#?
    Gửi bởi robinsonit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 12-10-2012, 11:40 PM
  3. tính số ngày trong một khoảng thời gian với C#?
    Gửi bởi binhnx trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 14
    Bài viết cuối: 31-05-2012, 03:00 PM
  4. Dừng chương trình một khoảng thời gian trong C#??
    Gửi bởi kyoshiroit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 06-10-2009, 08:58 AM
  5. Làm thế nào để tính được khoảng thời gian trong c++.
    Gửi bởi vuminhngoc trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 14
    Bài viết cuối: 08-12-2008, 12:02 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn