You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
new MethodSqlTest("SELECTCAST(TIMESTAMPDIFF(SQL_TSI_DAY, CAST('31 Jan 2004'ASTIMESTAMP), CAST('01 Jan 2003'ASTIMESTAMP)) ASINTEGER)", JdbcType.INTEGER, -395),
778
778
// NOTE: SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, and SQL_TSI_YEAR are NYI in PostsgreSQL TIMESTAMPDIFF
779
779
780
+
// timestampdiff2 - native PostgreSQL implementation for all intervals, returns INTEGER
781
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_SECOND, CAST('01 Jan 2004 5:00'ASTIMESTAMP), CAST('01 Jan 2004 6:00'ASTIMESTAMP))", JdbcType.INTEGER, 3600),
782
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_MINUTE, CAST('01 Jan 2003'ASTIMESTAMP), CAST('01 Jan 2004'ASTIMESTAMP))", JdbcType.INTEGER, 525600),
783
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_MINUTE, CAST('01 Jan 2004'ASTIMESTAMP), CAST('01 Jan 2005'ASTIMESTAMP))", JdbcType.INTEGER, 527040),
784
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_HOUR, CAST('01 Jan 2003'ASTIMESTAMP), CAST('01 Jan 2004'ASTIMESTAMP))", JdbcType.INTEGER, 8760),
785
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_HOUR, CAST('01 Jan 2004'ASTIMESTAMP), CAST('01 Jan 2005'ASTIMESTAMP))", JdbcType.INTEGER, 8784),
786
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_DAY, CAST('01 Jan 2003'ASTIMESTAMP), CAST('31 Jan 2004'ASTIMESTAMP))", JdbcType.INTEGER, 395),
787
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_DAY, CAST('31 Jan 2004'ASTIMESTAMP), CAST('01 Jan 2003'ASTIMESTAMP))", JdbcType.INTEGER, -395),
788
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_WEEK, CAST('01 Jan 2003'ASTIMESTAMP), CAST('22 Jan 2003'ASTIMESTAMP))", JdbcType.INTEGER, 3),
789
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_WEEK, CAST('22 Jan 2003'ASTIMESTAMP), CAST('01 Jan 2003'ASTIMESTAMP))", JdbcType.INTEGER, -3),
790
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_MONTH, CAST('01 Jan 2003'ASTIMESTAMP), CAST('01 Apr 2003'ASTIMESTAMP))", JdbcType.INTEGER, 3),
791
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_MONTH, CAST('01 Feb 2003 00:00'ASTIMESTAMP), CAST('31 Jan 2003 23:59'ASTIMESTAMP))", JdbcType.INTEGER, 0),
792
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_MONTH, CAST('15 Jan 2003'ASTIMESTAMP), CAST('14 Apr 2003'ASTIMESTAMP))", JdbcType.INTEGER, 2),
793
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_MONTH, CAST('15 Jan 2003'ASTIMESTAMP), CAST('15 Apr 2003'ASTIMESTAMP))", JdbcType.INTEGER, 3),
794
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_MONTH, CAST('15 Apr 2003'ASTIMESTAMP), CAST('14 Jan 2003'ASTIMESTAMP))", JdbcType.INTEGER, -3),
795
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_QUARTER, CAST('01 Jan 2003'ASTIMESTAMP), CAST('01 Oct 2003'ASTIMESTAMP))", JdbcType.INTEGER, 3),
796
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_QUARTER, CAST('15 Jan 2003'ASTIMESTAMP), CAST('14 Oct 2003'ASTIMESTAMP))", JdbcType.INTEGER, 2),
797
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_QUARTER, CAST('15 Jan 2003'ASTIMESTAMP), CAST('15 Oct 2003'ASTIMESTAMP))", JdbcType.INTEGER, 3),
798
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_QUARTER, CAST('15 Oct 2003'ASTIMESTAMP), CAST('14 Jan 2003'ASTIMESTAMP))", JdbcType.INTEGER, -3),
799
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_YEAR, CAST('01 Jan 2003'ASTIMESTAMP), CAST('01 Jan 2006'ASTIMESTAMP))", JdbcType.INTEGER, 3),
800
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_YEAR, CAST('15 Jan 2003'ASTIMESTAMP), CAST('14 Jan 2006'ASTIMESTAMP))", JdbcType.INTEGER, 2),
801
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_YEAR, CAST('15 Jan 2003'ASTIMESTAMP), CAST('15 Jan 2006'ASTIMESTAMP))", JdbcType.INTEGER, 3),
802
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_YEAR, CAST('14 Jan 2006'ASTIMESTAMP), CAST('15 Jan 2003'ASTIMESTAMP))", JdbcType.INTEGER, -2),
803
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_FRAC_SECOND, CAST('01 Jan 2004 5:00:00'ASTIMESTAMP), CAST('01 Jan 2004 5:00:01'ASTIMESTAMP))", JdbcType.BIGINT, 1000),
804
+
new MethodSqlTest("SELECTTIMESTAMPDIFF2(SQL_TSI_FRAC_SECOND, CAST('01 Jan 2004'ASTIMESTAMP), CAST('31 Jan 2004'ASTIMESTAMP))", JdbcType.BIGINT, 2592000000L),
805
+
780
806
new MethodSqlTest("SELECTUCASE('Fred')", JdbcType.VARCHAR, "FRED"),
781
807
new MethodSqlTest("SELECTUPPER('fred')", JdbcType.VARCHAR, "FRED"),
782
808
new MethodSqlTest("SELECTUSERID()", JdbcType.INTEGER, () -> TestContext.get().getUser().getUserId()),
0 commit comments