답변:
SELECT DATE(ColumnName) FROM tablename;
MySQL DATE () 함수 에 대해 자세히 알아보십시오 .
date_format을 사용할 수 있습니다.
select DATE_FORMAT(date,'%y-%m-%d') from tablename
시간대
sql2 = "SELECT DATE_FORMAT(CONVERT_TZ(CURDATE(),'US/Central','Asia/Karachi'),'%Y-%m-%d');"
select DATE(time) from appointment_details
날짜에만 사용할 수 있습니다
또는
select TIME(time) from appointment_details
시간에만 사용할 수 있습니다
MYSQL에는 DATE_FORMAT (date, format) 이라는 함수가 있습니다 . 귀하의 경우 선택 문은 다음과 같습니다.
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Mysql DATE 및 TIME 함수에 대한 자세한 내용을 보려면 여기를 클릭하십시오.
나는 일을 시도 SELECT DATE(ColumnName)
하지만 이것이 작동하지 않습니다 에 대한 TIMESTAMP
열 † 그들이 UTC에 저장되며 UTC 날짜 대신 현지 날짜로 변환하는 데 사용되기 때문이다. 내 시간대의 특정 날짜에있는 행을 선택해야했기 때문에이 다른 질문에 대한 내 답변을이 질문에 대한 Balaswamy Vaddeman의 답변 과 결합하여 다음을 수행했습니다.
DATETIME
그냥 해 SELECT DATE(ColumnName)
TIMESTAMP
아직 로드 하지 않은 경우 시간대 데이터를 MySQL에로드합니다 . Windows 서버의 경우 이전 링크를 참조하십시오. Linux, FreeBSD, Solaris 및 OS X 서버의 경우 다음을 수행합니다.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
그런 다음 다음과 같이 쿼리 형식을 지정합니다.
SELECT DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York'))
WHERE
다음과 같이 쿼리 의 일부에 넣을 수도 있습니다 (하지만 해당 열의 인덱스는 작동하지 않습니다).
SELECT * FROM tableName
WHERE DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York')) >= '2015-02-04'
(분명히 America/New_York
현지 시간대로 대체 하십시오.)
† 이에 대한 유일한 예외는 현지 시간대가 GMT이고 현지 시간이 UTC와 동일하기 때문에 일광 절약 시간제를 사용하지 않는 경우입니다.
Select * from table_name where date(datetime)