잡동사니

반응형

질문

내 코드는 mysql 데이터베이스에서 주어진 시간에 다음 업데이트를 수행합니다.

" UPDATE client_registration "  +
" SET registration_date = NOW() "  +
" WHERE cycle <= str_to_date(\"" + now + "\",'%d/%m/%Y %H:%i') "; 

그러나 HSQL 데이터베이스에서이 업데이트를 수행하려는 단위 테스트가 있는데 다음 오류 메시지가 나타납니다. 사용자에게 권한이 없거나 객체를 찾을 수 없음 : STR_TO_DATE .


답변1

HSQL에 대한 쿼리를 다시 작성해야합니다.

" UPDATE client_registration "  +
" SET registration_date = NOW() "  +
" WHERE cycle <= current_timestamp"; 

hsqldb에서 "select current_timestamp"를 수행하는 방법



답변2

'now'변수와 함께 사용하는 형식 문자열에 SQL 표준 형식 'YYYY-MM-DD hh : mm : ss'(예 : '2020-07-21 14:30:00')를 사용하면 더 쉽습니다. MySQL. 이 경우 HSQLDB 함수는 다음과 같이 생성됩니다.

CREATE FUNCTION STR_TO_DATE(STR VARCHAR(30), FORMAT VARCHAR(40) ) 
 RETURNS TIMESTAMP
 RETURN CAST(STR AS TIMESTAMP);

데이터베이스에 연결할 때 CREATE FUNCTION 문을 한 번 실행하면 모든 쿼리 및 upade 문에서 사용할 수 있습니다.



 

 

 

 

출처 : https://stackoverflow.com/questions/63022512/str-to-date-mysql-does-not-run-in-hsql

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band