SELECT TO_DATE('12/31/2010', 'YYYY-MM-DD') "to date" FROM DUMMY;
SELECT TO_DATE('31/12/2010', 'YYYY-MM-DD') "to date" FROM DUMMY;
Result
Could not execute 'SELECT TO_DATE('31/12/2010', 'YYYY-MM-DD') "to date" FROM DUMMY'
[303]: invalid DATE, TIME or TIMESTAMP value: Error while parsing '31/12/2010' in format 'YYYY-MM-DD' as DATE/TIME at function to_date() (at pos 7) ALTER TABLE "_SYS_BI"."M_TIME_DIMENSION" ADD ("DATEFORMAT" NVARCHAR(10) GENERATED ALWAYS AS TO_CHAR("DATE_SQL", 'YYYY/MM/DD'));
ALTER TABLE "_SYS_BI"."M_TIME_DIMENSION" ADD ("DATEFORMAT1" NVARCHAR(10) GENERATED ALWAYS AS TO_CHAR("DATE_SQL", 'MM/DD/YYYY'));
ALTER TABLE "_SYS_BI"."M_TIME_DIMENSION" ADD ("DATEFORMAT2" NVARCHAR(10) GENERATED ALWAYS AS TO_CHAR("DATE_SQL", 'DD.MM.YYYY'));
DROP FUNCTION ISDATE;
CREATE FUNCTION ISDATE (inputval NVARCHAR(100))
RETURNS RETURNVAL DATE
LANGUAGE SQLSCRIPT
AS
BEGIN
DECLARE DT date;
DECLARE VAL NVARCHAR(10);
DECLARE VCOUNT INT;
select count(*) into VCOUNT from "_SYS_BI"."M_TIME_DIMENSION"
where CONTAINS(*, :inputval) ;
IF VCOUNT > 0 THEN
select top 1 DISTINCT CAST(DATE_SQL AS DATE) into DT from "_SYS_BI"."M_TIME_DIMENSION" where CONTAINS(*,:inputval , EXACT);
RETURNVAL := :DT;
ELSE
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
RETURNVAL := '0002-01-01';
END;
select CAST(:inputval AS DATE) into DT from dummy;
RETURNVAL := :DT;
END IF;
END;select ISDATE('abc') from dummy;
Result
0002-01-01
select ISDATE('20/04/2017') from dummy;
Result
2017-04-20
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 33 | |
| 28 | |
| 24 | |
| 14 | |
| 13 | |
| 12 | |
| 11 | |
| 11 | |
| 9 | |
| 8 |