mysql DateTime 필드의 시간만 업데이트
MySQL에서 이미 존재하는 DateTime 필드의 시간만 업데이트하려면 어떻게 해야 합니까?저는 날짜가 그대로 유지되기를 원합니다.
사용해 보십시오.
UPDATE yourtable
SET yourcolumn = concat(date(yourcolumn), ' 21:00:00')
WHERE Id = yourid;
사용해 보십시오.
UPDATE t1 SET DateTimeField = CONCAT(DATE(DateTimeField),' 12:34:56');
UPDATE myTable
SET myDateTime = ADDTIME(DATE(myDateTime), @myTimeSpan)
WHERE id = @id;
MySQL 날짜 함수 MySQL 문서에 문서화됨
저는 다음과 같은 방법으로 해결했습니다.
UPDATE table
SET myDateTime = CONCAT_WS(' ',DATE(myDateTime), CURTIME())
WHERE id = @id;
분명히 당신은 변해야 합니다.CURTIME()
당신이 원하는 시간에.
UPDATE myTable
SET myDateTime = ADDTIME(myDateTime, @myTimeSpan)
WHERE id = @id;
함수의 정확한 구문은 다음을 참조하십시오.
사용해 보십시오.
UPDATE sms
SET entry_period_end_date= entry_period_end_date+INTERVAL 6 Hour
WHERE TIME(entry_period_end_date) = '06:00:00';
이것이 저를 도와준 것입니다.나는 먼저 시간을 분으로 환산합니다: 새벽 2시 30분에 150.
UPDATE lesson SET starts_at = DATE_ADD(Date(starts_at), INTERVAL 150 MINUTE)
다른 단위를 사용할 수 있지만, 몇 분이면 충분합니다. https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-add
UPDATE `table`
SET time = ADDTIME(time, INTERVAL 13 Hour);
글쎄요, 정확히 당신이 요구하는 것은 불가능합니다.날짜 및 시간 구성 요소는 별도로 업데이트할 수 없으므로 기존 DateTime 값에서 새 DateTime 값을 계산해야 전체 값을 바꿀 수 있습니다.
MySQL DEV 페이지에는 다음과 같은 기능이 표시됩니다.subtime
그리고.difftime
3시간 내의 모든 게시물이 위에 있는 시간을 백업하는 샘플 코드:
UPDATE tablepost SET datepost = SUBTIME( datepost , '0 3:0:0' );
값 0은 각 필드를 변경하지 않습니다.이 코드에 주의하여 먼저 선택을 사용하여 이러한 기능을 테스트합니다.
참조: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_subtime
DATE 필드와 TIME 필드가 있고 날짜에 시간을 삽입하려는 경우 다음을 수행합니다.
UPDATE mytable
SET mydatefield = ADDTIME( DATE_FORMAT(mydatefield,'%Y-%m-%d 00:00:00'), mydatefield)
WHERE myid = ...
저는 ADDTIME을 다음과 같은 방법으로 사용했습니다.
클라우드 서버의 이전 버전에서는 DateTime이 UTC로 설정되었지만 DateTime을 Asia/Kolkataie UTC 5:30으로 변경한 후 동일하게 데이터베이스 테이블에 반영하기를 원했습니다.
created_at 및 updated_at 열을 5시간 30분 업데이트하고 싶었습니다.다음을 수행했습니다.
표의 모든 행을 업데이트하려면 다음과 같이 하십시오.
UPDATE
products
SET
created_at = ADDTIME(created_at, '5:30:0'),
updated_at = ADDTIME(updated_at, '5:30:0')
새 레코드가 적절한 값으로 업데이트되었으므로 모든 레코드를 업데이트하려면 WHERE 조건을 생략할 수 있습니다.따라서 ID가 2500 미만인 행만 업데이트해야 합니다.
UPDATE
products
SET
created_at = ADDTIME(created_at, '5:30:0'),
updated_at = ADDTIME(updated_at, '5:30:0')
WHERE
id < 2500;
언급URL : https://stackoverflow.com/questions/1326548/update-only-time-in-a-mysql-datetime-field
'programing' 카테고리의 다른 글
구성 섹션 '시스템'입니다.web.extensions'이(가) 섹션 선언이 없으므로 읽을 수 없습니다. (0) | 2023.08.06 |
---|---|
MySQL 중복 삽입에서 자동 증분 방지 (0) | 2023.08.06 |
jQuery 방해되지 않는 유효성 검사란 무엇입니까? (0) | 2023.08.06 |
Mysql 시간 열의 평균? (0) | 2023.08.06 |
Swift UI가 HSack의 Spacer를 탭할 수 없습니다. (0) | 2023.08.06 |