Tôi gặp sự cố khi trích xuất năm trong trường dấu thời gian mysql. Tôi quản lý để có được nó làm việc với một datetime lĩnh vực sử dụng phương pháp này:Lấy năm ra khỏi dấu thời gian sql
SELECT id FROM TABLE WHERE YEAR(creation_date) = 2010
CREATE TABLE IF NOT EXISTS `pub_media` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`title` text,
`filename` text,
`path` text,
`serv_path` text,
`type` enum('images','videos','files','audio','gallery') DEFAULT NULL,
`keywords` text,
`label_id` int(11) DEFAULT NULL,
`creation_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`update_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
`rank` int(11) NOT NULL DEFAULT '0',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Server phiên bản: 5.1.41 Có cách nào simalar để thực hiện thao tác này trên một sân timestamp? Tôi muốn giữ hành động này trong câu lệnh SQL của tôi và không cố gắng chuyển nó sang PHP hoặc bất kỳ ngôn ngữ kịch bản nào khác, nếu có thể.
không, tôi không biết tại sao nó không hoạt động trên DB của tôi. Có lẽ vì tôi sử dụng MyISAM thay vì InnoDB làm DB Engine? –
Tôi vừa thử nó với MyISAM, và nó cũng hoạt động. Bạn có thể chỉnh sửa câu hỏi của mình và đưa đầu ra từ 'TẠO TABLE
đã thêm cả hai yêu cầu –
sử dụng chức năng
CAST
:)SELECT id FROM TABLE WHERE YEAR(CAST(creation_date AS DATE))=2010
nên làm việc với CREATION_DATE timestamp
[[sửa]], bổ sung() xung quanh đúc
Nguồn
2010-07-05 14:10:25 dweeves
tôi nhận được lỗi này: Bạn có một lỗi trong cú pháp SQL của bạn; kiểm tra hướng dẫn tương ứng với phiên bản máy chủ MySQL của bạn cho cú pháp đúng để sử dụng gần 'creation_date AS DATE) = 2010 AND deleted = 0 ORDER BY xếp hạng DESC' tại dòng 1 sử dụng truy vấn này: SELECT id, title FROM pub_media WHERE YEAR (CAST creation_date AS DATE) = 2010 VÀ bị xóa = 0 ORDER BY xếp hạng DESC mysql v. 5.1.41 –
hey các bạn, điều này không hoạt động, ngừng kéo nó lên :) –
thêm bị lãng quên() trên CAST – dweeves
Các công trình sau ok,
Định dạng dữ liệu là thực sự hữu ích cho các truy vấn như thế này, tôi đã sử dụng nó nhiều lần để chia nhỏ dữ liệu xuống còn 10 phút chẳng hạn ...
Nguồn
2010-07-05 14:39:42
hơn ai đó nên thực hiện một tốc độ nhanh nhất về tốc độ nhanh nhất, sử dụng DATE_FORMAT hoặc TYPE ..: p –
Trong trường hợp cast của tôi() không hoạt động. from_unixtime() đã làm. Các truy vấn sẽ là một trong sau:
Nguồn
2014-10-02 17:13:26 Juampy
Nguồn
2016-09-06 10:56:25 Mahesh
Câu trả lời này xuất hiện trong hàng đợi đánh giá chất lượng thấp, có lẽ vì bạn không cung cấp bất kỳ lời giải thích nào về mã. Nếu mã này trả lời câu hỏi, hãy cân nhắc việc thêm một số văn bản giải thích mã trong câu trả lời của bạn. Bằng cách này, bạn có nhiều khả năng nhận được nhiều upvotes hơn - và giúp người hỏi tìm hiểu điều gì đó mới mẻ. – lmo
Extract năm kể từ ngày hoặc dấu thời gian theo cách cầm tay hơn:
trình với MySQL, PostgreSQL, Oracle ...
Nguồn
2016-11-01 13:01:55 user11153
Các vấn đề liên quan