github.com/matrixorigin/matrixone@v1.2.0/test/distributed/cases/function/func_datetime_dayofyear.test (about) 1 #SELECT, 嵌套 2 3 SELECT dayofyear(date('2007-02-03 03:42:24')); 4 5 6 #NULL 7 SELECT dayofyear(NULL); 8 9 10 #DATATYPE 11 12 13 create table t1(a tinyint, b SMALLINT, c bigint, d INT, e BIGINT, f FLOAT, g DOUBLE, h decimal(38,19), i DATE, k datetime, l TIMESTAMP, m char(255), n varchar(255)); 14 insert into t1 values(1, 1, 2, 43, 5, 35.5, 31.133, 14.314, "2012-03-10", "2012-03-12 10:03:12", "2022-03-12 13:03:12", "ab23c", "d5cf"); 15 insert into t1 values(71, 1, 2, 34, 5, 5.5, 341.13, 15.314, "2012-03-22", "2013-03-12 10:03:12", "2032-03-12 13:04:12", "abr23c", "3dcf"); 16 insert into t1 values(1, 1, 21, 4, 54, 53.5, 431.13, 14.394, "2011-03-12", "2015-03-12 10:03:12", "2002-03-12 13:03:12", "afbc", "dct5f"); 17 insert into t1 values(1, 71, 2, 34, 5, 5.5, 31.313, 124.314, "2012-01-12", "2019-03-12 10:03:12", "2013-03-12 13:03:12", "3abd1c", "dcvf"); 18 insert into t1 values(1, 1, 2, 34, 5, 5.5, 31.133, 14.314, "2023-11-08", "2023-11-08 15:03", "2023-11-08 15:03", "abcads3c", "dcdff"); 19 select dayofyear(a),dayofyear(b),dayofyear(c),dayofyear(d),dayofyear(e),dayofyear(f) from t1; 20 select dayofyear(g),dayofyear(h),dayofyear(i),dayofyear(k),dayofyear(l),dayofyear(m),dayofyear(n) from t1; 21 drop table t1; 22 23 24 #0.5暂不支持time类型 25 #create table t1(a time) 26 #insert into t1 values("10:03:12"); 27 #insert into t1 values("10:03:12"); 28 #insert into t1 values("10:03:12"); 29 #insert into t1 values("10:03:12"); 30 #select dayofyear(a) from t1; 31 #drop table t1; 32 33 34 SELECT dayofyear("2015-09-03") as dayofyear; 35 SELECT dayofyear(20150904) as dayofyear; 36 SELECT dayofyear(1340124) as dayofyear; 37 SELECT dayofyear(0.45133) as dayofyear; 38 SELECT dayofyear(10) as dayofyear; 39 SELECT dayofyear(1=1) as dayofyear; 40 SELECT dayofyear('2015-09-30') as dayofyear; 41 42 SELECT dayofyear('2015-0') as dayofyear; 43 44 SELECT dayofyear('2015-09.30 12') as dayofyear; 45 SELECT dayofyear('2015-09-26 08:09:22') AS dayofyear; 46 47 #EXTREME VALUE 48 49 select dayofyear("2020-08"); 50 select dayofyear("0000-00-00"); 51 select dayofyear("-0001-03-03"); 52 select dayofyear("10000-03-02"); 53 select dayofyear("2021-13-09"); 54 select dayofyear("2020-10-32"); 55 56 57 #算术操作 58 SELECT dayofyear("2015-09-10")- dayofyear("2016-04-24"); 59 SELECT dayofyear("2015-09-10")+ dayofyear("2016-04-24"); 60 SELECT dayofyear("2015-09-10")*dayofyear("2016-04-24"); 61 SELECT dayofyear("2015-09-10")/dayofyear("2016-04-24"); 62 63 #比较操作 64 SELECT dayofyear("2015-09-10")>dayofyear("2016-04-24"); 65 SELECT dayofyear("2015-09-10")<dayofyear("2016-04-24"); 66 SELECT dayofyear("2015-09-10")=dayofyear("2016-04-24"); 67 SELECT dayofyear("2015-09-10")<>dayofyear("2016-04-24"); 68 SELECT dayofyear("2015-09-10")!=dayofyear("2016-04-24"); 69 70 71 72 #SELECT, ORDER BY, GROUP BY 73 CREATE TABLE Product(Product_id INT, Product_name VARCHAR(100) NOT NULL,Buying_price DECIMAL(13, 2) NOT NULL,Selling_price DECIMAL(13, 2) NOT NULL,Selling_Date Date NOT NULL,PRIMARY KEY(Product_id)); 74 INSERT INTO Product(Product_name, Buying_price, Selling_price, Selling_Date) VALUES ('Audi Q8', 10000000.00, 15000000.00, '2018-01-26' ),('Volvo XC40', 2000000.00, 3000000.00, '2018-04-20' ),('Audi A6', 4000000.00, 5000000.00, '2018-07-25' ),('BMW X5', 5000500.00, 7006500.00, '2018-10-18' ),('Jaguar XF', 5000000, 7507000.00, '2019-01-27' ),('Mercedes-Benz C-Class', 4000000.00, 6000000.00, '2019-04-01' ),('Jaguar F-PACE', 5000000.00, 7000000.00, '2019-12-26' ),('Porsche Macan', 6500000.00, 8000000.00, '2020-04-16' ) ; 75 SELECT dayofyear (Selling_Date) dayofyear, COUNT(Product_id) Product_Sold FROM Product GROUP BY dayofyear (Selling_Date) ORDER BY dayofyear (Selling_Date); 76 DROP TABLE Product; 77 78 79 #INSERT 80 drop table if exists t1; 81 create table t1(a INT, b date); 82 insert into t1 select dayofyear("2012-10-12"), "2012-10-12"; 83 insert into t1 select dayofyear("2004-04-24"), "2004-04-24"; 84 insert into t1 select dayofyear("2008-12-04"), "2008-12-04"; 85 select * from t1; 86 drop table t1; 87 88 89 90 #WHERE 91 drop table if exists t1; 92 create table t1(a INT, b date); 93 insert into t1 values(1, "2012-10-12"),(2, "2004-04-24"),(3, "2008-12-04"),(4, "2012-03-23"); 94 select * from t1 where dayofyear(b)<>0; 95 drop table t1; 96 97 98 #ON CONDITION 99 drop table if exists t1; 100 drop table if exists t2; 101 create table t1(a INT, b date); 102 create table t2(a INT, b date); 103 insert into t1 values(1, "2012-10-12"),(2, "2004-04-24"),(3, "2008-12-04"),(4, "2012-03-23"); 104 insert into t2 values(1, "2013-04-30"),(2, "1994-10-04"),(3, "2018-06-04"),(4, "2012-08-12"); 105 SELECT t1.a, t2.a FROM t1 JOIN t2 ON (dayofyear(t1.b) <> dayofyear(t2.b)); 106 drop table t1; 107 drop table t2; 108 109 110 #HAVING 111 drop table if exists t1; 112 create table t1(a INT, b date); 113 insert into t1 values(1, "2012-10-12"),(1, "2012-07-12"),(2, "2004-04-24"),(3, "2008-12-04"),(4, "2012-03-23"); 114 select b from t1 group by b having dayofyear(b)>0; 115 drop table t1; 116 117 #distinct 118 drop table if exists t1; 119 create table t1(a INT, b date); 120 insert into t1 values(1, "2012-10-12"),(1, "2012-07-12"),(2, "2004-04-24"),(3, "2004-04-24"),(3, "2008-12-04"),(4, "2012-03-23"); 121 select distinct dayofyear(b) from t1; 122 drop table t1; 123 124 #Create table select 125 #create table t1 select if(1,'1','0'), dayofyear("2002-08-02"); 126 #select * from t1; 127 #drop table t1; 128 129 130 131 CREATE TABLE t3(c1 DATE NOT NULL); 132 INSERT INTO t3 VALUES('2000-01-01'); 133 INSERT INTO t3 VALUES('1999-12-31'); 134 INSERT INTO t3 VALUES('2000-01-01'); 135 INSERT INTO t3 VALUES('2006-12-25'); 136 INSERT INTO t3 VALUES('2008-02-29'); 137 SELECT DAYOFYEAR(c1) FROM t3; 138 DROP TABLE t3; 139 CREATE TABLE t3(c1 DATETIME NOT NULL); 140 INSERT INTO t3 VALUES('2000-01-01'); 141 INSERT INTO t3 VALUES('1999-12-31'); 142 INSERT INTO t3 VALUES('2000-01-01'); 143 INSERT INTO t3 VALUES('2006-12-25'); 144 INSERT INTO t3 VALUES('2008-02-29'); 145 SELECT DAYOFYEAR(c1) FROM t3; 146 DROP TABLE t3; 147 CREATE TABLE t3(c1 TIMESTAMP NOT NULL); 148 INSERT INTO t3 VALUES('2000-01-01'); 149 INSERT INTO t3 VALUES('1999-12-31'); 150 INSERT INTO t3 VALUES('2000-01-01'); 151 INSERT INTO t3 VALUES('2006-12-25'); 152 INSERT INTO t3 VALUES('2008-02-29'); 153 SELECT DAYOFYEAR(c1) FROM t3; 154 DROP TABLE t3;