PDA

View Full Version : Datetime trong SQL Server



vokhanhthuy
05-03-2009, 00:25
Mình có một vấn đề thế này:
-Mình thiết kế một form để hiển thị danh sách các bài viết gồm: NameTopic,UserName, TimePost.... và dùng một Dropdownlist để cho mình lựa chọn thời gian hiển thị của các bài viết (ở đây chỉ cho phép lựa chọn theo tháng 1, tháng 2... và các giá trị tương ứng với các lựa chọn là 1,2...kiểu int)
-Nhưng khi mình viết Store để đưa đầu vào (là các tháng 1,2,3.. kiểu int) thì làm sao so sánh với trường TimePost trong CSDL vơi kiểu dữ liệu là Datetime được? Có cách nào mà trong Store mình có thể tách Tháng ra riêng để so sánh được không?
-Mọi người có cách giải quyết nào giúp mình với, mình dùng VS2008 và SQL2005

serivn
05-03-2009, 00:55
Bạn có thể lấy tháng từ một chuỗi kiểu ngày tháng bất kì hay lấy từ CSDL thì cũng vậy, bạn tham khảo cách sau nhé:



//Giả ngày tháng lấy về từ CSDL mình lưu vào biến date

int thang=DateTime.Parse(date.ToString()).Month;


Chúc bạn thành công!!:rolleyes:

dq_ninh
05-03-2009, 01:13
Bạn có thể dùng DATEPART() function của SQL:

DATEPART(Month,GETDATE()) -- lấy tháng của ngày hôm nay

--lấy tháng của một cột trong bảng

SELECT Thang=DATEPART(Month,TimePost) FROM .....



Mình có một vấn đề thế này:
-Mình thiết kế một form để hiển thị danh sách các bài viết gồm: NameTopic,UserName, TimePost.... và dùng một Dropdownlist để cho mình lựa chọn thời gian hiển thị của các bài viết (ở đây chỉ cho phép lựa chọn theo tháng 1, tháng 2... và các giá trị tương ứng với các lựa chọn là 1,2...kiểu int)
-Nhưng khi mình viết Store để đưa đầu vào (là các tháng 1,2,3.. kiểu int) thì làm sao so sánh với trường TimePost trong CSDL vơi kiểu dữ liệu là Datetime được? Có cách nào mà trong Store mình có thể tách Tháng ra riêng để so sánh được không?
-Mọi người có cách giải quyết nào giúp mình với, mình dùng VS2008 và SQL2005

vokhanhthuy
05-03-2009, 09:41
Ôi mình cảm ơn mọi người nhiều nha!