Chúng ta có thể chuyển đổi một chuỗi thành ngày tháng với sự trợ giúp của hàm STR_TO_DATE[]. Hãy để chúng tôi xem một ví dụ
Tạo bảng
mysql> create table StringToDateDemo -> [ -> YourDate varchar[100] -> ]; Query OK, 0 rows affected [0.49 sec]
Chèn bản ghi vào bảng
mysql> insert into StringToDateDemo values['10/27/2018']; Query OK, 1 row affected [0.11 sec]
Sau đây là cú pháp chuyển đổi chuỗi thành ngày tháng bằng hàm STR_TO_DATE[]
SELECT STR_TO_DATE[yourColumnName, '%m/%d/%Y'] from yourTableName;
Bây giờ chúng ta hãy thực hiện nó
mysql>SELECT STR_TO_DATE[YourDate, '%m/%d/%Y'] -> from StringToDateDemo;
Đây là đầu ra
+-----------------------------------+ | STR_TO_DATE[YourDate, '%m/%d/%Y'] | +-----------------------------------+ | 2018-10-27 | +-----------------------------------+ 1 row in set [0.00 sec]
Các hàm TO_DATE và TO_TIMESTAMP của Oracle có thể chuyển đổi một chuỗi ở định dạng được chỉ định. Lưu ý rằng các chỉ định định dạng là khác nhau [xem ánh xạ ở trên]
SELECT TO_DATE['17-09-2010','DD-MM-YYYY'] FROM dual;
Máy chủ SQL
Hàm CONVERT của SQL Server có thể chuyển đổi một chuỗi thành DATETIME, nhưng thay vì chỉ định định dạng định dạng cho các phần ngày/giờ, bạn phải chỉ định một kiểu cho toàn bộ giá trị [xem ánh xạ ở trên]
SELECT CONVERT[DATETIME, '17-09-2010', 105];
PostgreSQL
PostgreSQL cung cấp các hàm TO_DATE và TO_TIMESTAMP để chuyển đổi một chuỗi ở định dạng đã chỉ định thành DATE hoặc TIMESTAMP
Ví dụ
Trả về một ngày dựa trên một chuỗi và một định dạng
SELECT STR_TO_DATE["Ngày 10 tháng 8 năm 2017", "%M %d %Y"];
Tự mình thử »Định nghĩa và cách sử dụng
Hàm STR_TO_DATE[] trả về ngày dựa trên chuỗi và định dạng
cú pháp
STR_TO_DATE[chuỗi, định dạng]
Giá trị tham số
ParameterDescriptionstringBắt buộc. Chuỗi được định dạng thành dateformatRequired. Định dạng để sử dụng. Có thể là một hoặc kết hợp các giá trị sau.FormatDescription%aTên ngày trong tuần viết tắt [Từ Chủ Nhật đến Thứ Bảy]%bTên tháng viết tắt [Tháng 1 đến Tháng 12]%cTên tháng dạng số [0 đến 12]%DNgày của tháng dưới dạng giá trị số, theo sau là hậu tố . ]%dDay của tháng dưới dạng giá trị số [01 đến 31]%eDay của tháng dưới dạng giá trị số [0 đến 31]%fMicro giây [000000 đến 999999]%HHour [00 đến 23]%hHour [00 đến 12] . mm. ss AM/PM]%SSSeconds [00 to 59]%sSeconds [00 to 59]%TTime ở định dạng 24 giờ [hh. mm. ss]%UWeek trong đó Chủ nhật là ngày đầu tuần [00 đến 53]%uWeek trong đó Thứ Hai là ngày đầu tuần [00 đến 53]%VWeek trong đó Chủ nhật là ngày đầu tuần [01 đến 53]. Được sử dụng với %X%vWeek trong đó Thứ Hai là ngày đầu tiên của tuần [01 đến 53]. Được sử dụng với %X%Wtên ngày trong tuần đầy đủ [Chủ nhật đến thứ bảy]%wNgày trong tuần trong đó Chủ nhật=0 và Thứ bảy=6%XYNăm cho tuần mà Chủ nhật là ngày đầu tuần. Được sử dụng với %V%xYear cho tuần mà Thứ Hai là ngày đầu tuần. Được sử dụng với %V%YYear dưới dạng giá trị số, 4 chữ số%yYear dưới dạng giá trị số, 2 chữ số
chi tiết kỹ thuật
Thêm ví dụ
Ví dụ
Trả về một ngày dựa trên một chuỗi và một định dạng
SELECT STR_TO_DATE["5/8/2017", "%M %e %Y"];
Ví dụ
Trả về một ngày dựa trên một chuỗi và một định dạng
SELECT STR_TO_DATE["Thứ Hai, ngày 14 tháng 8 năm 2017", "%W %M %e %Y"];
Tự mình thử »Ví dụ
Trả về một ngày dựa trên một chuỗi và một định dạng
SELECT STR_TO_DATE["2017,8,14 10,40,10", "%Y,%m,%d %h,%i,%s"];
Tự mình thử »Sử dụng cơ sở dữ liệu là bắt buộc để tạo một trang web hiện đại năng động. MySQL đã được thiết lập như một nền tảng cơ sở dữ liệu ưa thích do chất lượng không thể chối cãi của máy chủ cơ sở dữ liệu này. Chỉ định ngày nhập nội dung có tầm quan trọng hàng đầu đối với cấu trúc và sắp xếp theo trình tự thời gian của các bài viết, bài đăng và trả lời trong một trang web động. MySQL đi kèm với một số loại dữ liệu để lưu trữ ngày tháng trong hệ thống cơ sở dữ liệu của nó. NGÀY, DẤU THỜI GIAN, NGÀY GIỜ và NĂM
Cách sử dụng câu lệnh DATE
Cách mặc định để lưu trữ một ngày trong cơ sở dữ liệu MySQL là sử dụng DATE. Định dạng đúng của NGÀY là. YYYY-MM-DD. Nếu bạn cố gắng nhập một ngày ở định dạng khác với định dạng Năm-Tháng-Ngày, nó có thể hoạt động nhưng sẽ không lưu trữ ngày như bạn mong đợi
Để chạy lệnh Chèn MySQL và thêm ngày hiện tại vào bảng của bạn, bạn có thể sử dụng hàm tích hợp sẵn của MySQL CURDATE[] trong truy vấn của mình
Một ví dụ về cách Chèn một ngày trong MySQL bằng CURDATE
$query_auto = "CHÈN VÀO tên bảng [col_name, col_date] GIÁ TRỊ ['NGÀY. Tự động CURDATE[]', CURDATE[] ]";Ngoài ra, bạn có thể chạy truy vấn để đặt ngày theo cách thủ công
Một ví dụ về cách chèn thủ công một ngày trong MySQL
$query_manual = "CHÈN VÀO tên bảng [col_name, col_date] GIÁ TRỊ ['NGÀY. Ngày thủ công', '2008-7-04']";Tất cả các truy vấn này có thể được chạy bằng cách sử dụng dòng lệnh, tập lệnh [được viết bằng PHP, Perl, Python, v.v. ] hoặc thông qua giao diện PHPMyAdmin được chèn trong Bảng điều khiển lưu trữ web phức tạp của NTC Hosting
Ngoài ra, có một câu lệnh cho phép bạn chỉ đặt NĂM của một sự kiện. Câu lệnh Năm sử dụng định dạng YYYY và có phạm vi từ 1901 đến 2155 [đối với những năm nằm ngoài phạm vi này, bạn cần sử dụng câu lệnh NGÀY]
Chèn một ngày trong MySQL bằng NĂM
Bây giờ, hãy kiểm tra xem câu lệnh NĂM hoạt động như thế nào trong một truy vấn. Đối với ví dụ của chúng tôi, chúng tôi sẽ sử dụng lại CURDATE[]. Như chúng ta đã đề cập ở trên, CURDATE[] cung cấp nhiều thông tin hơn là chỉ năm, nhưng khi chúng ta sử dụng câu lệnh YEAR thì tất cả thông tin ngày, ngoài năm, đều bị bỏ qua
Một ví dụ về cách Chèn NĂM trong MySQL bằng CURDATE
CHÈN VÀO danh bạ [col_name, col_date] GIÁ TRỊ ['YEAR. Tự động CURDATE[]', CURDATE[] ]";Đặt ngày trong MySQL bằng DATETIME
Sử dụng DATETIME, bạn có thể lưu trữ cả ngày và giờ. Định dạng của nó là YYYY-MM-DD HH. mm. SS. Sử dụng câu lệnh này, bạn có thể lưu trữ đầu ra cho cả câu lệnh NGÀY và GIỜ. Ngoài ra, bạn có thể chọn chỉ lưu trữ thông tin ngày, nhưng bạn không thể chỉ lưu trữ thời gian
Một ví dụ về cách sử dụng DATETIME
CHÈN VÀO danh bạ [col_name, col_date] VALUE ['DATETIME. Tự động CURDATE[]', CURDATE[] ]";Cách chèn ngày tháng trong PHPMyAdmin
Như chúng tôi đã đề cập ở trên, có một số cách để lưu trữ một ngày. Một trong những phương pháp đơn giản nhất là sử dụng công cụ quản lý cơ sở dữ liệu như PHPMyAdmin. Với giao diện người dùng đồ họa và tập hợp các tính năng tích hợp sẵn, PHPMyAdmin giúp việc quản lý cơ sở dữ liệu trở nên dễ dàng. Đó là lý do tại sao chúng tôi, tại NTC Hosting, đã chọn công cụ quản lý web PHPMyAdmin và cung cấp công cụ này trong tất cả các gói dịch vụ lưu trữ web của chúng tôi
Để thêm thông tin ngày tháng trong PHPMyAdmin, bạn cần đăng nhập vào giao diện PHPMyAdmin rồi vào tab 'Chèn'. Sau đó, bạn có thể chọn các hàm Chèn thích hợp cho từng trường bằng cách sử dụng danh sách thả xuống trong cột hàm
Nếu bạn muốn tìm hiểu thêm về cách sử dụng hàm chèn trong PHPMyAdmin, vui lòng truy cập bài viết Chèn MySQL và PHPMyAdmin
Đặt ngày trong MySQL bằng tập lệnh PHP
Sử dụng tập lệnh PHP để đặt ngày trong MySQL là rất phổ biến. Để sử dụng phương pháp này, hãy chạy truy vấn SQL trong tập lệnh PHP. Phương pháp này được sử dụng hàng ngày bởi một số tập lệnh PHP rất đơn giản và bởi các ứng dụng lớn dựa trên PHP hiện đại. Hãy xem nó trông như thế nào