Hướng dẫn dùng mysql datepart trong PHP

Ở bài này mình xin giới thiệu về SQL cũng như một số hàm của sql trong PHP, đầu tiên ta đi vào tìm hiểu sql là gì. Định Nghĩa: SQL [Structured Query Language] là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ.

SQL gồm 2 thành phần chính

  • DDL [Data Definition Language] định nghĩa cấu trúc của CSDL
    • Cấu trúc của CSDL: CREATE TABLE, CREATE VIEW, ALTER TABLE,…
    • Điều khiển quyền truy cập trên dữ liệu: GRANT, REVOKE,…
  • DML [Data Manipulation Language] truy xuất và cập nhật dữ liệu: INSERT, UPDATE, DELETE, SELECT

Cú pháp:

  • Chữ hoa đại diện cho từ khóa
  • Chữ thường đại diện cho các từ của người dùng định nghĩa
  • Dấu | chỉ sự lựa chọn.
  • Dấu { chỉ phần tử bắt buộc phải có
  • Dấu ... chỉ thành phần có thể lặp lại từ 0 đến nhiều lần

Lưu ý:

  • Hầu hết các phần trong câu lệnh SQL là không phân biệt chữ hoa chữ thường, trừ các ký tự trong chuỗi dữ liệu.
  • Nên viết các từ khóa của SQL bởi ký tự chữ hoa và các từ do người dụng định nghĩa [table, column, …] bởi ký tự chữ thường

Nhận biết thông báo lỗi:

  • Tên cột không tìm thấy: Invalid column name
  • Tên bảng không tìm thấy: Invalid object name
  • Lỗi cú pháp: Incorrect Syntac near Incorrect Syntac near
  • Tên cột có mặt ở nhiều bảng: Ambiguous column name
  • Phép so sánh không tương thích kiểu: Error converting data type

Xử lý chuỗi trong MySQL

STTTên hàmChức năngTextLENGTH [str]Xác định chiều dài chuỗi strTextCONCAT [str1, str2, …, strn]Nối các chuỗi str1, str2, …, strn thành một chuỗi duy nhấtTextFORMAT [str, n]Chuyển đổi định dạng chuỗi str theo dạng #,###,###.##, trong đó làm tròn đến n số thập phânTextINSERT [str, pos, len, newstr]Thay thế các ký tự trong chuỗi str từ vị trí thứ pos đến vị trí thứ pos+len-1 bởi chuỗi ký tự newstrTextINSTR [str, substr]Trả về vị trí xuất hiện đầu tiên của chuỗi substr trong chuỗi stTextLEFT [str, len]Trả về chuỗi ký tự tính từ vị trí bên trái của chuỗi str từ vị trí thứ nhất đến vị trí thứ lenTextRIGHT [str, len]Trả về chuỗi ký tự tính từ vị trí bên phải của chuỗi str từ vị trí thứ nhất đến vị trí thứ len.TextLOCATE [substr, str, pos]Trả về vị trí xuất hiện đầu tiên của chuỗi substr trong chuỗi str tính từ vị trí thứ posTextLOWER [str]Chuyển đổi chuỗi str thành chữ thườngTextUPPER [str]Chuyển đổi chuỗi str thành chữ hoaTextLTRIM [str]Loại bỏ tất cả khoảng trắng bên trái chuỗi strTextRTRIM [str]Loại bỏ tất cả khoảng trắng bên phải chuỗi strTextREPLACE [str, from_str, to_str]Thay thế các ký tự from_str trong chuỗi str bởi các ký tự to_strTextREVERSE [str]Đảo ngược chuỗi strTextSUBSTRING [str FROM pos FOR len]Trích lọc từ chuỗi str một chuỗi mới, chuỗi mới này có các ký tự bắt đầu từ vị trí pos [tính từ vị trí biên trái] cho đến vị trí pos+len-1

XỬ LÝ THỜI GIAN TRONG MYSQL

Trong nội dung này, tập trung trình bày các hàm xử lý thời gian, ngày, tháng, năm, … các thao cộng trừ và định dạng thời gian trong hệ quản trị cơ sở dữ liệu MySQL.

Hàmcách sử dụngđầu vàođầu raNOW[]Xác định thời gian tại thời điểm hiện tạiSELECT NOW[];2017-06-26 19:50:24CURDATE[]Xác định ngày, tháng, năm tại thời điểm hiện tạiSELECT CURDATE[];2017-06-26CURTIME[]Xác định giờ, phút, giây tại thời điểm hiện tạiSELECT CURTIME[];19:54:27DATE[expr]Xác định ngày, tháng, năm tại thời điểm exprSELECT DATE['2017-06-26 09:22:03'];2017-06-26TIME[expr]Xác định giờ, phút, giây tại thời điểm exprSELECT DATE['2017-06-26 09:22:03'];09:22:03YEAR[expr]Xác định năm tại thời điểm exprSELECT YEAR['2017-06-26'];2017MONTH[expr]Xác định tháng [chỉ số 1, 2, 3, …] tại thời điểm exprSELECT MONTH['2017-06-26'];06MONTHNAME[expr]Xác định tên tháng tại thời điểm exprSELECT MONTHNAME['2017-06-26'];juneWEEKDAY[expr]Xác định chỉ số ngày trong tuần [0 = Monday, 1 = Tuesday, … 6 = Sunday]SELECT WEEKDAY['2017-06-26'];6DAY[expr]Xác định ngày [chỉ số] tại thời điểm exprSELECT DAY['2017-06-26'];26DAYOFMONTH[expr]Xác định số thứ tự của ngày trong tháng tại thời điểm expr [kết quả nằm trong khoảng từ 1 đến 31]SELECT DAYOFMONTH['2017-06-26'];26DAYNAME[expr]Xác định tên [thứ] của ngày tại thời điểm exprSELECT DAYNAME['2017-06-26'];SundayHOUR[expr]Xác định giờ tại thời điểm exprSELECT HOUR['2017-06-26 09:22:03'];9MINUTE[expr]Xác định phút tại thời điểm exprSELECT MINUTE['2017-06-26 09:22:03'];22TIME_TO_SEC[expr]Chuyển thời gian tại thời điểm expr ra số giâySELECT TIME_TO_SEC['22:23:00'];80580

Bảng các ký hiệu định dạng:

Ký hiệuÝ nghĩa%aTên viết tắt các ngày trong tuần [Sun, …, Sat ]%bTên viết tắt các tháng trong năm [Jan, …, Dec ]%cTháng [0,1, …, 12]%dThứ tự các ngày trong tháng [00, 01, …, 31]%eThứ tự các ngày trong tháng [0, 1, …, 31]%fMicroseconds [000000..999999]%HGiờ [00..23]%hGiờ [01..12]%IGiờ [01..12]%iPhút [00..59]%jSố thứ tự ngày trong năm [001..366]%kGiờ [0..23]%lGiờ [1..12]%MTên tháng [January..December]%mTháng [00..12]%pAM hoặc PM%rGiờ [00..12] [hh:mm:ss theo sau bởi AM hoặc PM]%SGiây [00..59]%TGiờ [00..23] [hh:mm:ss]%USố thứ tự tuần trong năm [00..53], khi chủ nhật là ngày đầu tiên của tuần

Kết Luận:

trên đây là bài giới thiệu về các hàm cũng như một số chú ý liên quan đến SQL, hy vọng sẽ giúp ích phần nào cho các bạn!

Chủ Đề