이 (솔루션에 대한 내 대답은 아래를 참조 - 피드백에 대한 감사)(MySQL의 기능)
그것은 아마 정말 분명 뭔가하지만 난 내 SQL 뭐가 잘못 볼 수 없습니다 :
mysql> CREATE FUNCTION start_of_minute(
-> curdate DATE)
-> RETURNS DATE
-> DETERMINISTIC
-> SQL SECURITY INVOKER
-> BEGIN
-> DECLARE sofm DATE;
-> SET sofm = SUBDATE (
-> curdate,
-> INTERVAL SECOND(curdate) SECOND
-> );
-> RETURN sofm;
-> END //
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ');
RETURN sofm;
END' at line 11
더욱 좌절 다음 작품으로 :
mysql> CREATE FUNCTION start_of_week(
-> curdate DATE,
-> first_day_of_week INTEGER)
-> RETURNS DATE
-> DETERMINISTIC
-> SQL SECURITY INVOKER
-> BEGIN
-> DECLARE sow DATE;
-> SET sow = SUBDATE(
-> curdate,
-> INTERVAL (WEEKDAY(curdate)+(7-first_day_of_week)%7) DAY
-> );
-> RETURN sow;
-> END //
Query OK, 0 rows affected (0.00 sec)
(NB 다양한 수준에서 날짜를 잘라내는 다른 방법이있을 수있다 - 나는 확실히 그들에 대해 듣고 싶네, 필자는 구문의 문제점을 알고 싶습니다. 마침표 시작을 계산하는 다른 방법이 아닙니다.
예, second() is a valid function 및 SECOND is a valid interval입니다. 대신 어쩌면이
second(cast(curdate as time))
하지만
같은 date
의 time
의 기능 second()
테이크 인해 하위 날짜에 의미가 있기 때문에
TIA
이 DB2에 태그를 지정하셨습니까? – Leons
예 - mysql은 DB2와 구문 호환이 가능해야합니다 (둘 다 특정 공통 기능이 없음에도 불구하고). 아직 절차 적 mysql을 사용하는 사람들은 많지 않다. – symcbean