MySQL의 DATETIME 필드에서 날짜만 선택하는 방법
MySQL 데이터베이스에 테이블이 있으며,DATETIME
나는 해야 한다.SELECT
이 표에서 시간은 제외하고 날짜만 표시합니다.
어떻게 하면 좋을까요?SELECT
특정 컬럼이 로 설정되어 있는 경우라도 이 테이블에서는 날짜별로만 시간을 바이패스합니다.DATETIME
?
예
현재는 다음과 같습니다.
2012-01-23 09:24:41
내가 해야 할 일이 있어SELECT
이 경우에만:2012-01-23
SELECT DATE(ColumnName) FROM tablename;
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 * FROM `tbl_name` where DATE(column_name) = CURDATE()
선택한 날짜:
SELECT * FROM `tbl_name` where DATE(column_name) = DATE('2016-01-14')
사용할 수 있습니다.select DATE(time) from appointment_details
날짜만
또는
사용할 수 있습니다.select TIME(time) from appointment_details
시간만
MYSQL에는 DATE_FORMAT(날짜, 형식)라는 함수가 있습니다.당신의 경우, 당신의 선택 문장은 다음과 같습니다.
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Mysql DATE 및 TIME 함수에 대한 자세한 내용은 여기를 클릭하십시오.
간단히 할 수 있다
SELECT DATE(date_field) AS date_field FROM table_name
이 답을 시험해 보세요.
SELECT * FROM `Yourtable` WHERE date(`dateField`) = '2018-09-25'
나는 그것을 하려고 했다.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 Profiles WHERE date(DateReg)=$date
여기서 $date는 yyy-mm-dd 입니다.
또는SELECT * FROM Profiles WHERE left(DateReg,10)=$date
건배.
다음과 같이 시험해 볼 수 있습니다.
SELECT CURDATE();
다음을 체크하는 경우:
SELECT NOW(); SELECT DATE(NOW()); SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');
시간이 오래 걸리는 것을 알 수 있습니다.
Select * from table_name where date(datetime)
사용하다DATE_FORMAT
select DATE_FORMAT(date,'%d') from tablename =>Date only
예:
select DATE_FORMAT(`date_column`,'%d') from `database_name`.`table_name`;
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');"
날짜에만 execision_details에서 DATE(시간)를 선택할 수 있습니다.
or
You can use select TIME(time) from appointment_details for time only
if time column is on timestamp , you will get date value from that timestamp using this query
테이블에서 날짜(FROM_UNIXTIME(time))를 선택합니다.
SELECT DATE_FORMAT(NOW() - INTERVAL FLOOR(RAND() * 14) DAY,'%Y-%m-%d');
이것은 'yyy-mm-dd' 형식으로 날짜를 가져오는 데 사용할 수 있습니다.
time column이 timestamp에 있는 경우 이 쿼리를 사용하여 타임스탬프에서 날짜 값을 가져옵니다.
SELECT DATE(FROM_UNIXTIME(time)) from table
이 질문에 대해 실제로 유효한 솔루션을 제시하기 위해:
SELECT ... WHERE `myDateColumn` >= DATE(DATE_FORMAT(NOW(),'%Y-%m-%d'));
NOW() 함수를 원하는 날짜 또는 변수로 변경할 수 있습니다.
간단한 작은 기능(1줄)으로 VB 앱으로 해결합니다.프로덕션 앱에서 꺼낸 코드입니다.함수는 다음과 같습니다.
Public Function MySQLDateTimeVar(inDate As Date, inTime As String) As String Return "'" & inDate.ToString(format:="yyyy'-'MM'-'dd") & " " & inTime & "'" End Function
사용방법: DateTimePicker1과 DateTimePicker2가 있고 사용자가 시작일과 종료일을 정의해야 한다고 가정합니다.날짜가 같아도 상관없습니다.날짜만 사용하여 DATETIME 필드를 쿼리해야 합니다.쿼리 문자열은 다음과 같이 쉽게 구성됩니다.
Dim QueryString As String = "Select * From SOMETABLE Where SOMEDATETIMEFIELD BETWEEN " & MySQLDateTimeVar(DateTimePicker1.Value,"00:00:00") & " AND " & MySQLDateTimeVar(DateTimePicker2.Value,"23:59:59")
이 함수는 쿼리의 DATETIME 필드에 대한 올바른 MySQL DATETIME 구문을 생성하고 쿼리는 해당 DATE(또는 BETWEEN the DATETIME)의 모든 레코드를 올바르게 반환합니다.
언급URL : https://stackoverflow.com/questions/9032047/how-to-select-only-date-from-a-datetime-field-in-mysql
'programing' 카테고리의 다른 글
어레이에 값을 추가하는 가장 효율적인 방법 (0) | 2022.09.11 |
---|---|
PHP의 문자열에서 각 행에 걸쳐 반복 (0) | 2022.09.11 |
Vue는 생성자가 아닙니다. (0) | 2022.09.11 |
프라이머리 SQL별 FIFO 값 감소 (0) | 2022.09.11 |
Laravel Controller에서 콘솔에 쓰는 방법 (0) | 2022.09.11 |