2009-03-16 73 views
13

Tôi đang cố gắng trích xuất tháng từ trường DATETIME trong SQLite. month(dateField) không hoạt động cũng như strftime('%m', dateStart).Lấy tháng từ DATETIME trong sqlite

Bất kỳ ý tưởng nào?

Trả lời

24

Tôi không hiểu, phản ứng là trong câu hỏi của bạn:

select strftime('%m', dateField) as Month ... 
10
SELECT strftime('%m', datefield) FROM table 

Nếu bạn đang tìm kiếm vào tên tháng, tên văn bản tháng không dường như được hỗ trợ bởi sự phân bố cốt lõi của SQLite

+1

này là không đúng nếu DateField là một loại datetime bản địa. Bạn cần sử dụng strftime ('% m', datetime (datefield, 'unixepoch')) như đã đề cập trong câu trả lời khác. –

8

Tôi đoán bạn muốn nhận tháng làm chuỗi. Không phải là tìm kiếm thân thiện nhất nhưng bạn có thể thấy điểm. Chỉ cần thay thế ngày ('now') bằng biến của bạn.

select case strftime('%m', date('now')) when '01' then 'January' when '02' then 'Febuary' when '03' then 'March' when '04' then 'April' when '05' then 'May' when '06' then 'June' when '07' then 'July' when '08' then 'August' when '09' then 'September' when '10' then 'October' when '11' then 'November' when '12' then 'December' else '' end 
as month 
7

Hãy thử sử dụng như sau:

select strftime('%m', datetime(datefield, 'unixepoch')) as month from table 
Các vấn đề liên quan