query_sql=f'select * from {tb_name} where ts > "2021-01-11 12:00:00" or c1 = 2'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and c1 != 2'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
## ts or and smallint col
query_sql=f'select * from {tb_name} where ts <> "2021-01-11 12:00:00" or c2 = 10'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and c2 <= 1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),1)
## ts or and int col
query_sql=f'select * from {tb_name} where ts >= "2021-01-11 12:00:00" or c3 = 4'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and c3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
## ts or and big col
query_sql=f'select * from {tb_name} where ts is Null or c4 = 5'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts is not Null and c4 = 2'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),3)
## ts or and float col
query_sql=f'select * from {tb_name} where ts between "2021-01-17 12:00:00" and "2021-01-23 12:00:00" or c5 = 6.6'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and c5 = 1.1'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
## ts or and double col
query_sql=f'select * from {tb_name} where ts between "2021-01-17 12:00:00" and "2021-01-23 12:00:00" or c6 = 7.7'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and c6 = 1.1'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
## ts or and binary col
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" or c7 like "binary_"'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and c7 in ("binary")'
tdSql.query(query_sql)
tdSql.checkRows(5)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
## ts or and nchar col
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" or c8 like "nchar%"'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts >= "2021-01-11 12:00:00" and c8 is Null'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## ts or and bool col
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" or c9=false'
tdSql.error(query_sql)
query_sql=f'select * from {tb_name} where ts >= "2021-01-11 12:00:00" and c9=true'
tdSql.query(query_sql)
tdSql.checkRows(5)
tdSql.checkEqual(self.queryLastC10(query_sql),9)
## multi cols
query_sql=f'select * from {tb_name} where ts > "2021-01-03 12:00:00" and c1 != 2 and c2 >= 2 and c3 <> 4 and c4 < 4 and c5 > 1 and c6 >= 1.1 and c7 is not Null and c8 = "nchar" and c9=false'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
defqueryTsTag(self,tb_name):
## ts and tinyint col
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and t1 != 2'
tdSql.query(query_sql)
tdSql.checkRows(20)
## ts and smallint col
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and t2 <= 1'
tdSql.query(query_sql)
tdSql.checkRows(5)
## ts or and int col
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and t3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(4)
## ts or and big col
query_sql=f'select * from {tb_name} where ts is not Null and t4 = 2'
tdSql.query(query_sql)
tdSql.checkRows(11)
## ts or and float col
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and t5 = 1.1'
tdSql.query(query_sql)
tdSql.checkRows(4)
## ts or and double col
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and t6 = 1.1'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
## ts or and binary col
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and t7 in ("binary1")'
tdSql.query(query_sql)
tdSql.checkRows(5)
## ts or and nchar col
query_sql=f'select * from {tb_name} where ts >= "2021-01-11 12:00:00" and t8 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(35)
## ts or and bool col
query_sql=f'select * from {tb_name} where ts >= "2021-01-11 12:00:00" and t9=true'
tdSql.query(query_sql)
tdSql.checkRows(35)
## multi cols
query_sql=f'select * from {tb_name} where ts > "2021-01-03 12:00:00" and t1 != 2 and t2 >= 2 and t3 <> 4 and t4 < 4 and t5 > 1 and t6 >= 1.1 and t7 is not Null and t8 = "nchar3" and t9=true'
tdSql.query(query_sql)
tdSql.checkRows(10)
defqueryTsColTag(self,tb_name):
## ts and tinyint col tag
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and c1 >= 2 and t1 != 2'
tdSql.query(query_sql)
tdSql.checkRows(4)
## ts and smallint col tag
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and c2 >=3 and t2 <= 1'
tdSql.query(query_sql)
tdSql.checkRows(1)
## ts or and int col tag
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and c3 < 3 and t3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(3)
## ts or and big col tag
query_sql=f'select * from {tb_name} where ts is not Null and c4 <> 1 and t4 = 2'
tdSql.query(query_sql)
tdSql.checkRows(11)
## ts or and float col tag
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00" and c5 is not Null and t5 = 1.1'
tdSql.query(query_sql)
tdSql.checkRows(4)
## ts or and double col tag
query_sql=f'select * from {tb_name} where ts < "2021-01-11 12:00:00"and c6 = 1.1 and t6 = 1.1'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
## ts or and binary col tag
query_sql=f'select * from {tb_name} where ts <= "2021-01-11 12:00:00" and c7 is Null and t7 in ("binary1")'
tdSql.query(query_sql)
tdSql.checkRows(0)
## ts or and nchar col tag
query_sql=f'select * from {tb_name} where ts >= "2021-01-11 12:00:00" and c8 like "nch%" and t8 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(30)
## ts or and bool col tag
query_sql=f'select * from {tb_name} where ts >= "2021-01-11 12:00:00" and c9=false and t9=true'
tdSql.query(query_sql)
tdSql.checkRows(10)
## multi cols tag
query_sql=f'select * from {tb_name} where ts > "2021-01-03 12:00:00" and c1 = 1 and c2 != 3 and c3 <= 2 and c4 >= 2 and c5 in (1.2, 1.1) and c6 < 2.2 and c7 like "bina%" and c8 is not Null and c9 = true and t1 != 2 and t2 >= 2 and t3 <> 4 and t4 < 4 and t5 > 1 and t6 >= 1.1 and t7 is not Null and t8 = "nchar3" and t9=true'
tdSql.query(query_sql)
tdSql.checkRows(2)
defqueryTinyintCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c1 > 1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
# >=
query_sql=f'select * from {tb_name} where c1 >= 2'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
# <
query_sql=f'select * from {tb_name} where c1 < 2'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <=
query_sql=f'select * from {tb_name} where c1 <= 2'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# =
query_sql=f'select * from {tb_name} where c1 = 2'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
# !=
query_sql=f'select * from {tb_name} where c1 != 1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
# <>
query_sql=f'select * from {tb_name} where c1 <> 2'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# is null
query_sql=f'select * from {tb_name} where c1 is null'
tdSql.query(query_sql)
tdSql.checkRows(0)
# is not null
query_sql=f'select * from {tb_name} where c1 is not null'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# between and
query_sql=f'select * from {tb_name} where c1 between 2 and 3'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
# not between and
query_sql=f'select * from {tb_name} where c1 not between 2 and 3'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# in
query_sql=f'select * from {tb_name} where c1 in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
# not in
query_sql=f'select * from {tb_name} where c1 not in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# and
query_sql=f'select * from {tb_name} where c1 > 0 and c1 >= 1 and c1 < 2 and c1 <= 3 and c1 =1 and c1 != 5 and c1 <> 4 and c1 is not null and c1 between 1 and 2 and c1 not between 2 and 3 and c1 in (1,2) and c1 not in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# or
query_sql=f'select * from {tb_name} where c1 > 2 or c1 >= 3 or c1 < 1 or c1 <= 0 or c1 =2 or c1 != 1 or c1 <> 1 or c1 is null or c1 between 2 and 3 and c1 not between 1 and 1 and c1 in (2, 3) and c1 not in (1, 2)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
# and or
query_sql=f'select * from {tb_name} where c1 > 2 and c1 >= 3 or c1 < 1 or c1 <= 0 or c1 =2 or c1 != 1 or c1 <> 1 and c1 is null or c1 between 2 and 3 and c1 not between 1 and 1 and c1 in (2, 3) and c1 not in (1, 2)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
defquerySmallintCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c2 > 2'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# >=
query_sql=f'select * from {tb_name} where c2 >= 3'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <
query_sql=f'select * from {tb_name} where c2 < 3'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# <=
query_sql=f'select * from {tb_name} where c2 <= 3'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# =
query_sql=f'select * from {tb_name} where c2 = 3'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# !=
query_sql=f'select * from {tb_name} where c2 != 1'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <>
query_sql=f'select * from {tb_name} where c2 <> 2'
tdSql.query(query_sql)
tdSql.checkRows(3)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# is null
query_sql=f'select * from {tb_name} where c2 is null'
tdSql.query(query_sql)
tdSql.checkRows(0)
# is not null
query_sql=f'select * from {tb_name} where c2 is not null'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# between and
query_sql=f'select * from {tb_name} where c2 between 2 and 3'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# not between and
query_sql=f'select * from {tb_name} where c2 not between 2 and 3'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),1)
# in
query_sql=f'select * from {tb_name} where c2 in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# not in
query_sql=f'select * from {tb_name} where c2 not in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),1)
# and
query_sql=f'select * from {tb_name} where c2 > 0 and c2 >= 1 and c2 < 4 and c2 <= 3 and c2 != 2 and c2 <> 2 and c2 = 3 and c2 is not null and c2 between 2 and 3 and c2 not between 1 and 2 and c2 in (2,3) and c2 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# or
query_sql=f'select * from {tb_name} where c2 > 4 or c2 >= 3 or c2 < 1 or c2 <= 0 or c2 != 2 or c2 <> 2 or c2 = 3 or c2 is null or c2 between 3 and 4 or c2 not between 1 and 3 or c2 in (3,4) or c2 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(3)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# and or
query_sql=f'select * from {tb_name} where c2 > 0 and c2 >= 1 or c2 < 4 and c2 <= 3 and c2 != 1 and c2 <> 2 and c2 = 3 or c2 is not null and c2 between 2 and 3 and c2 not between 1 and 2 and c2 in (2,3) and c2 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
defqueryIntCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c3 > 4'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# >=
query_sql=f'select * from {tb_name} where c3 >= 4'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# <
query_sql=f'select * from {tb_name} where c3 < 4'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <=
query_sql=f'select * from {tb_name} where c3 <= 4'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# =
query_sql=f'select * from {tb_name} where c3 = 5'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# !=
query_sql=f'select * from {tb_name} where c3 != 5'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <>
query_sql=f'select * from {tb_name} where c3 <> 1'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# is null
query_sql=f'select * from {tb_name} where c3 is null'
tdSql.query(query_sql)
tdSql.checkRows(0)
# is not null
query_sql=f'select * from {tb_name} where c3 is not null'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# between and
query_sql=f'select * from {tb_name} where c3 between 1 and 2'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# not between and
query_sql=f'select * from {tb_name} where c3 not between 1 and 2'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# in
query_sql=f'select * from {tb_name} where c3 in (1, 2)'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# not in
query_sql=f'select * from {tb_name} where c3 not in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# and
query_sql=f'select * from {tb_name} where c3 > 0 and c3 >= 1 and c3 < 5 and c3 <= 4 and c3 != 2 and c3 <> 2 and c3 = 4 and c3 is not null and c3 between 2 and 4 and c3 not between 1 and 2 and c3 in (2,4) and c3 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
# or
query_sql=f'select * from {tb_name} where c3 > 4 or c3 >= 3 or c3 < 1 or c3 <= 0 or c3 != 1 or c3 <> 1 or c3 = 4 or c3 is null or c3 between 3 and 4 or c3 not between 1 and 3 or c3 in (3,4) or c3 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# and or
query_sql=f'select * from {tb_name} where c3 > 0 and c3 >= 1 or c3 < 5 and c3 <= 4 and c3 != 2 and c3 <> 2 and c3 = 4 or c3 is not null and c3 between 2 and 4 and c3 not between 1 and 2 and c3 in (2,4) and c3 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
defqueryBigintCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c4 > 4'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# >=
query_sql=f'select * from {tb_name} where c4 >= 4'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# <
query_sql=f'select * from {tb_name} where c4 < 4'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <=
query_sql=f'select * from {tb_name} where c4 <= 3'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# =
query_sql=f'select * from {tb_name} where c4 = 5'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# !=
query_sql=f'select * from {tb_name} where c4 != 5'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <>
query_sql=f'select * from {tb_name} where c4 <> 3'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# is null
query_sql=f'select * from {tb_name} where c4 is null'
tdSql.query(query_sql)
tdSql.checkRows(0)
# is not null
query_sql=f'select * from {tb_name} where c4 is not null'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# between and
query_sql=f'select * from {tb_name} where c4 between 4 and 5'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# not between and
query_sql=f'select * from {tb_name} where c4 not between 1 and 3'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# in
query_sql=f'select * from {tb_name} where c4 in (1, 5)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# not in
query_sql=f'select * from {tb_name} where c4 not in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# and
query_sql=f'select * from {tb_name} where c4 > 0 and c4 >= 1 and c4 < 6 and c4 <= 5 and c4 != 2 and c4 <> 2 and c4 = 5 and c4 is not null and c4 between 2 and 5 and c4 not between 1 and 2 and c4 in (2,5) and c4 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# or
query_sql=f'select * from {tb_name} where c4 > 5 or c4 >= 4 or c4 < 1 or c4 <= 0 or c4 != 3 or c4 <> 3 or c4 = 5 or c4 is null or c4 between 4 and 5 or c4 not between 1 and 3 or c4 in (4,5) or c4 not in (1,3)'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
# and or
query_sql=f'select * from {tb_name} where c4 > 0 and c4 >= 1 or c4 < 5 and c4 <= 4 and c4 != 2 and c4 <> 2 and c4 = 4 or c4 is not null and c4 between 2 and 4 and c4 not between 1 and 2 and c4 in (2,4) and c4 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
defqueryFloatCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c5 > 1.1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),6)
# >=
query_sql=f'select * from {tb_name} where c5 >= 1.1'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <
query_sql=f'select * from {tb_name} where c5 < 1.2'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <=
query_sql=f'select * from {tb_name} where c5 <= 6.6'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# =
query_sql=f'select * from {tb_name} where c5 = 6.6'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),6)
# !=
query_sql=f'select * from {tb_name} where c5 != 1.1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),6)
# <>
query_sql=f'select * from {tb_name} where c5 <> 3'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# is null
query_sql=f'select * from {tb_name} where c5 is null'
tdSql.query(query_sql)
tdSql.checkRows(0)
# is not null
query_sql=f'select * from {tb_name} where c5 is not null'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# between and
query_sql=f'select * from {tb_name} where c5 between 4 and 6.6'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),6)
# not between and
query_sql=f'select * from {tb_name} where c5 not between 2 and 3'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# in
query_sql=f'select * from {tb_name} where c5 in (1, 6.6)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),6)
# not in
query_sql=f'select * from {tb_name} where c5 not in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# and
query_sql=f'select * from {tb_name} where c5 > 0 and c5 >= 1 and c5 < 7 and c5 <= 6.6 and c5 != 2 and c5 <> 2 and c5 = 6.6 and c5 is not null and c5 between 2 and 6.6 and c5 not between 1 and 2 and c5 in (2,6.6) and c5 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),6)
# or
query_sql=f'select * from {tb_name} where c5 > 6 or c5 >= 6.6 or c5 < 1 or c5 <= 0 or c5 != 1.1 or c5 <> 1.1 or c5 = 5 or c5 is null or c5 between 4 and 5 or c5 not between 1 and 3 or c5 in (4,5) or c5 not in (1.1,3)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),6)
# and or
query_sql=f'select * from {tb_name} where c5 > 0 and c5 >= 1 or c5 < 5 and c5 <= 6.6 and c5 != 2 and c5 <> 2 and c5 = 4 or c5 is not null and c5 between 2 and 4 and c5 not between 1 and 2 and c5 in (2,4) and c5 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
defqueryDoubleCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c6 > 1.1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
# >=
query_sql=f'select * from {tb_name} where c6 >= 1.1'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <
query_sql=f'select * from {tb_name} where c6 < 1.2'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# <=
query_sql=f'select * from {tb_name} where c6 <= 7.7'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# =
query_sql=f'select * from {tb_name} where c6 = 7.7'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
# !=
query_sql=f'select * from {tb_name} where c6 != 1.1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
# <>
query_sql=f'select * from {tb_name} where c6 <> 3'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# is null
query_sql=f'select * from {tb_name} where c6 is null'
tdSql.query(query_sql)
tdSql.checkRows(0)
# is not null
query_sql=f'select * from {tb_name} where c6 is not null'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# between and
query_sql=f'select * from {tb_name} where c6 between 4 and 7.7'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
# not between and
query_sql=f'select * from {tb_name} where c6 not between 2 and 3'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# in
query_sql=f'select * from {tb_name} where c6 in (1, 7.7)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
# not in
query_sql=f'select * from {tb_name} where c6 not in (2, 3)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# and
query_sql=f'select * from {tb_name} where c6 > 0 and c6 >= 1 and c6 < 8 and c6 <= 7.7 and c6 != 2 and c6 <> 2 and c6 = 7.7 and c6 is not null and c6 between 2 and 7.7 and c6 not between 1 and 2 and c6 in (2,7.7) and c6 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
# or
query_sql=f'select * from {tb_name} where c6 > 7 or c6 >= 7.7 or c6 < 1 or c6 <= 0 or c6 != 1.1 or c6 <> 1.1 or c6 = 5 or c6 is null or c6 between 4 and 5 or c6 not between 1 and 3 or c6 in (4,5) or c6 not in (1.1,3)'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
# and or
query_sql=f'select * from {tb_name} where c6 > 0 and c6 >= 1 or c6 < 5 and c6 <= 7.7 and c6 != 2 and c6 <> 2 and c6 = 4 or c6 is not null and c6 between 2 and 4 and c6 not between 1 and 2 and c6 in (2,4) and c6 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
defqueryBinaryCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c7 > "binary"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
# >=
query_sql=f'select * from {tb_name} where c7 >= "binary8"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
# <
query_sql=f'select * from {tb_name} where c7 < "binary8"'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# <=
query_sql=f'select * from {tb_name} where c7 <= "binary8"'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# =
query_sql=f'select * from {tb_name} where c7 = "binary8"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
# !=
query_sql=f'select * from {tb_name} where c7 != "binary"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
# <>
query_sql=f'select * from {tb_name} where c7 <> "binary8"'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# is null
query_sql=f'select * from {tb_name} where c7 is null'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# is not null
query_sql=f'select * from {tb_name} where c7 is not null'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# between and
query_sql=f'select * from {tb_name} where c7 between "bi" and "binary7"'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# not between and
query_sql=f'select * from {tb_name} where c7 not between "bi" and "binary7"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
# in
query_sql=f'select * from {tb_name} where c7 in ("binar", "binary8")'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
# not in
query_sql=f'select * from {tb_name} where c7 not in ("bi", "binary8")'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# ! bug TD-15324 not in
# query_sql = f'select * from {tb_name} where c7 not in (1, "binary8")'
query_sql=f'select * from {tb_name} where c7 > "binary" and c7 >= "binary8" and c7 < "binary9" and c7 <= "binary8" and c7 != "binary" and c7 <> "333" and c7 = "binary8" and c7 is not null and c7 between "binary" and "binary8" and c7 not between 1 and 2 and c7 in ("binary","binary8") and c7 not in ("binary")'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
# or
query_sql=f'select * from {tb_name} where c7 > "binary" or c7 >= "binary8" or c7 < "binary" or c7 <= "binar" or c7 != "binary" or c7 <> "binary" or c7 = 5 or c7 is null or c7 between 4 and 5 or c7 not between "binary" and "binary7" or c7 in ("binary2222") or c7 not in ("binary")'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# and or
query_sql=f'select * from {tb_name} where c7 > "binary" and c7 >= "binary8" or c7 < "binary9" and c7 <= "binary" and c7 != 2 and c7 <> 2 and c7 = 4 or c7 is not null and c7 between 2 and 4 and c7 not between 1 and 2 and c7 in (2,4) and c7 not in (1,2)'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
defqueryNcharCol(self,tb_name):
# >
query_sql=f'select * from {tb_name} where c8 > "nchar"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),9)
# >=
query_sql=f'select * from {tb_name} where c8 >= "nchar9"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),9)
# <
query_sql=f'select * from {tb_name} where c8 < "nchar9"'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# <=
query_sql=f'select * from {tb_name} where c8 <= "nchar9"'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# =
query_sql=f'select * from {tb_name} where c8 = "nchar9"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),9)
# !=
query_sql=f'select * from {tb_name} where c8 != "nchar"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),9)
# <>
query_sql=f'select * from {tb_name} where c8 <> "nchar9"'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# is null
query_sql=f'select * from {tb_name} where c8 is null'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
# is not null
query_sql=f'select * from {tb_name} where c8 is not null'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# between and
query_sql=f'select * from {tb_name} where c8 between "na" and "nchar8"'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
# not between and
query_sql=f'select * from {tb_name} where c8 not between "na" and "nchar8"'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),9)
# ! bug TD-15240 in
# query_sql = f'select * from {tb_name} where c8 in ("ncha", "nchar9")'
# query_sql = f'select * from {tb_name} where c8 > "nchar" and c8 >= "nchar8" and c8 < "nchar9" and c8 <= "nchar8" and c8 != "nchar" and c8 <> "333" and c8 = "nchar8" and c8 is not null and c8 between "nchar" and "nchar8" and c8 not between 1 and 2 and c8 in ("nchar","nchar8") and c8 not in ("nchar")'
# query_sql = f'select * from {tb_name} where c8 > "nchar" or c8 >= "nchar8" or c8 < "nchar" or c8 <= "binar" or c8 != "nchar" or c8 <> "nchar" or c8 = 5 or c8 is null or c8 between 4 and 5 or c8 not between "nchar" and "nchar7" or c8 in ("nchar2222") or c8 not in ("nchar")'
# query_sql = f'select * from {tb_name} where c8 > "nchar" and c8 >= "nchar8" or c8 < "nchar9" and c8 <= "nchar" and c8 != 2 and c8 <> 2 and c8 = 4 or c8 is not null and c8 between 2 and 4 and c8 not between 1 and 2 and c8 in (2,4) and c8 not in (1,2)'
query_sql=f'select * from {tb_name} where c1 != 1 or c2 = 3'
tdSql.query(query_sql)
tdSql.checkRows(3)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c1 != 1 and c2 = 2'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
## <> or and
query_sql=f'select * from {tb_name} where c1 <> 1 or c3 = 3'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
query_sql=f'select * from {tb_name} where c1 <> 2 and c3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
## >= or and
query_sql=f'select * from {tb_name} where c1 >= 2 or c3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
query_sql=f'select * from {tb_name} where c1 >= 2 and c3 = 1'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),2)
## <= or and
query_sql=f'select * from {tb_name} where c1 <= 1 or c3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(10)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c1 <= 1 and c3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),4)
## <> or and is Null
query_sql=f'select * from {tb_name} where c1 <> 1 or c7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c1 <> 2 and c7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## > or and is not Null
query_sql=f'select * from {tb_name} where c2 > 2 or c8 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c2 > 2 and c8 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),3)
## > or < or >= or <= or != or <> or = Null
query_sql=f'select * from {tb_name} where c1 > 1 or c2 < 2 or c3 >= 4 or c4 <= 2 or c5 != 1.1 or c6 <> 1.1 or c7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(8)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c1 = 1 and c2 > 1 and c3 >= 1 and c4 <= 5 and c5 != 6.6 and c6 <> 7.7 and c7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## tiny small int big or
query_sql=f'select * from {tb_name} where c1 = 2 or c2 = 3 or c3 = 4 or c4 = 5'
tdSql.query(query_sql)
tdSql.checkRows(5)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c1 = 1 and c2 = 2 and c3 = 1 and c4 = 3'
tdSql.query(query_sql)
tdSql.checkRows(5)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
## float double binary nchar bool or
query_sql=f'select * from {tb_name} where c5=6.6 or c6=7.7 or c7="binary8" or c8="nchar9" or c9=false'
tdSql.query(query_sql)
tdSql.checkRows(6)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c5=1.1 and c6=7.7 and c7="binary" and c8="nchar" and c9=true'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
## all types or
query_sql=f'select * from {tb_name} where c1=2 or c2=3 or c3=4 or c4=5 or c5=6.6 or c6=7.7 or c7 nmatch "binary[134]" or c8="nchar9" or c9=false'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where c1=1 and c2=2 and c3=1 and c4=3 and c5=1.1 and c6=1.1 and c7 match "binary[28]" and c8 in ("nchar") and c9=true'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),8)
query_sql=f'select * from {tb_name} where c1=1 and c2=2 or c3=1 and c4=3 and c5=1.1 and c6=1.1 and c7 match "binary[28]" and c8 in ("nchar") and c9=true'
tdSql.query(query_sql)
tdSql.checkRows(7)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
defqueryFullTagType(self,tb_name):
## != or and
query_sql=f'select * from {tb_name} where t1 != 1 or t2 = 3'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1 != 1 and t2 = 2'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## <> or and
query_sql=f'select * from {tb_name} where t1 <> 1 or t3 = 3'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1 <> 2 and t3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## >= or and
query_sql=f'select * from {tb_name} where t1 >= 2 or t3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1 >= 1 and t3 = 1'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## <= or and
query_sql=f'select * from {tb_name} where t1 <= 1 or t3 = 4'
tdSql.query(query_sql)
tdSql.checkRows(22)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1 <= 3 and t3 = 2'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## <> or and is Null
query_sql=f'select * from {tb_name} where t1 <> 1 or t7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1 <> 2 and t7 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## > or and is not Null
query_sql=f'select * from {tb_name} where t2 > 2 or t8 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(55)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t2 > 2 and t8 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(33)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## > or < or >= or <= or != or <> or = Null
query_sql=f'select * from {tb_name} where t1 > 1 or t2 < 2 or t3 >= 4 or t4 <= 2 or t5 != 1.1 or t6 <> 1.1 or t7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(55)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1 >= 1 and t2 > 1 and t3 >= 1 and t4 <= 5 and t5 != 6.6 and t6 <> 7.7 and t7 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## tiny small int big or and
query_sql=f'select * from {tb_name} where t1 = 2 or t2 = 3 or t3 = 4 or t4 = 5'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1 = 1 and t2 = 2 and t3 = 1 and t4 = 3'
tdSql.query(query_sql)
tdSql.checkRows(0)
## float double binary nchar bool or and
query_sql=f'select * from {tb_name} where t5=2.2 or t6=7.7 or t7="binary8" or t8="nchar9" or t9=false'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t5=2.2 and t6=2.2 and t7="binary2" and t8="nchar2" and t9=true'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## all types or and
query_sql=f'select * from {tb_name} where t1=2 or t2=3 or t3=4 or t4=5 or t5=6.6 or t6=7.7 or t7 nmatch "binary[134]" or t8="nchar9" or t9=false'
tdSql.query(query_sql)
tdSql.checkRows(44)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1=1 and t2=1 and t3>=1 and t4!=2 and t5=1.1 and t6=1.1 and t7 match "binary[18]" and t8 in ("nchar1") and t9=true'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
query_sql=f'select * from {tb_name} where t1=1 and t2=1 or t3>=1 and t4!=2 and t5=1.1 and t6=1.1 and t7 match "binary[18]" and t8 in ("nchar1") and t9=true'
tdSql.query(query_sql)
tdSql.checkRows(11)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
defqueryColMultiExpression(self,tb_name):
## condition_A and condition_B or condition_C (> < >=)
query_sql=f'select * from {tb_name} where c1 > 2 and c2 < 4 or c3 >= 4'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
## (condition_A and condition_B) or condition_C (<= != <>)
query_sql=f'select * from {tb_name} where (c1 <= 1 and c2 != 2) or c4 <> 3'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## condition_A and (condition_B or condition_C) (Null not Null)
query_sql=f'select * from {tb_name} where c1 is not Null and (c6 = 7.7 or c8 is Null)'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## condition_A or condition_B and condition_C (> < >=)
query_sql=f'select * from {tb_name} where c1 > 2 or c2 < 4 and c3 >= 4'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
## (condition_A or condition_B) and condition_C (<= != <>)
query_sql=f'select * from {tb_name} where (c1 <= 1 or c2 != 2) and c4 <> 3'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
## condition_A or (condition_B and condition_C) (Null not Null)
query_sql=f'select * from {tb_name} where c6 >= 7.7 or (c1 is not Null and c3 =5)'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
## condition_A or (condition_B and condition_C) or condition_D (> != < Null)
query_sql=f'select * from {tb_name} where c1 != 1 or (c2 >2 and c3 < 1) or c7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## condition_A and (condition_B or condition_C) and condition_D (>= = <= not Null)
query_sql=f'select * from {tb_name} where c4 >= 4 and (c1 = 2 or c5 <= 1.1) and c7 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(1)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
## (condition_A and condition_B) or (condition_C or condition_D) (Null >= > =)
query_sql=f'select * from {tb_name} where (c8 is Null and c1 >= 1) or (c3 > 3 or c4 =2)'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),11)
## (condition_A or condition_B) or condition_C or (condition_D and condition_E) (>= <= = not Null <>)
query_sql=f'select * from {tb_name} where (c1 >= 2 or c2 <= 1) or c3 = 4 or (c7 is not Null and c6 <> 1.1)'
tdSql.query(query_sql)
tdSql.checkRows(4)
tdSql.checkEqual(self.queryLastC10(query_sql),7)
## condition_A or (condition_B and condition_C) or (condition_D and condition_E) and condition_F
query_sql=f'select * from {tb_name} where c1 != 1 or (c2 <= 1 and c3 <4) or (c3 >= 4 or c7 is not Null) and c9 <> true'
tdSql.query(query_sql)
tdSql.checkRows(3)
tdSql.checkEqual(self.queryLastC10(query_sql),10)
## (condition_A or (condition_B and condition_C) or (condition_D and condition_E)) and condition_F
query_sql=f'select * from {tb_name} where (c1 != 1 or (c2 <= 2 and c3 >= 4) or (c3 >= 4 or c7 is not Null)) and c9 != false'
tdSql.query(query_sql)
tdSql.checkRows(9)
tdSql.checkEqual(self.queryLastC10(query_sql),9)
## (condition_A or condition_B) or (condition_C or condition_D) and (condition_E or condition_F or condition_G)
query_sql=f'select * from {tb_name} where c1 != 1 or (c2 <= 3 and c3 > 4) and c3 <= 5 and (c7 is not Null and c9 != false)'
tdSql.query(query_sql)
tdSql.checkRows(2)
tdSql.checkEqual(self.queryLastC10(query_sql),5)
defqueryTagMultiExpression(self,tb_name):
## condition_A and condition_B or condition_C (> < >=)
query_sql=f'select * from {tb_name} where t1 > 2 and t2 < 4 or t3 >= 4'
tdSql.query(query_sql)
tdSql.checkRows(33)
## (condition_A and condition_B) or condition_C (<= != <>)
query_sql=f'select * from {tb_name} where (t1 <= 1 and t2 != 2) or t4 <> 3'
tdSql.query(query_sql)
tdSql.checkRows(44)
## condition_A and (condition_B or condition_C) (Null not Null)
query_sql=f'select * from {tb_name} where t1 is not Null and (t6 = 7.7 or t8 is not Null)'
tdSql.query(query_sql)
tdSql.checkRows(55)
## condition_A or condition_B and condition_C (> < >=)
query_sql=f'select * from {tb_name} where t1 > 2 or t2 < 4 and t3 >= 4'
tdSql.query(query_sql)
tdSql.checkRows(33)
## (condition_A or condition_B) and condition_C (<= != <>)
query_sql=f'select * from {tb_name} where (t1 <= 1 or t2 != 2) and t4 <> 3'
tdSql.query(query_sql)
tdSql.checkRows(33)
## condition_A or (condition_B and condition_C) (Null not Null)
query_sql=f'select * from {tb_name} where t6 >= 7.7 or (t1 is not Null and t3 =5)'
tdSql.query(query_sql)
tdSql.checkRows(11)
## condition_A or (condition_B and condition_C) or condition_D (> != < Null)
query_sql=f'select * from {tb_name} where t1 != 1 or (t2 >2 and t3 < 1) or t7 is Null'
tdSql.query(query_sql)
tdSql.checkRows(44)
## condition_A and (condition_B or condition_C) and condition_D (>= = <= not Null)
query_sql=f'select * from {tb_name} where t4 >= 2 and (t1 = 2 or t5 <= 1.1) and t7 is not Null'
tdSql.query(query_sql)
tdSql.checkRows(11)
## (condition_A and condition_B) or (condition_C or condition_D) (Null >= > =)
query_sql=f'select * from {tb_name} where (t8 is Null and t1 >= 1) or (t3 > 3 or t4 =2)'
tdSql.query(query_sql)
tdSql.checkRows(33)
## (condition_A or condition_B) or condition_C or (condition_D and condition_E) (>= <= = not Null <>)
query_sql=f'select * from {tb_name} where (t1 >= 2 or t2 <= 1) or t3 = 4 or (t7 is not Null and t6 <> 1.1)'
tdSql.query(query_sql)
tdSql.checkRows(55)
## condition_A or (condition_B and condition_C) or (condition_D and condition_E) and condition_F
query_sql=f'select * from {tb_name} where t1 != 1 or (t2 <= 1 and t3 <4) or (t3 >= 4 or t7 is not Null) and t9 <> true'
tdSql.query(query_sql)
tdSql.checkRows(55)
## (condition_A or (condition_B and condition_C) or (condition_D and condition_E)) and condition_F
query_sql=f'select * from {tb_name} where (t1 != 1 or (t2 <= 2 and t3 >= 4) or (t3 >= 4 or t7 is not Null)) and t9 != false'
tdSql.query(query_sql)
tdSql.checkRows(55)
## (condition_A or condition_B) or (condition_C or condition_D) and (condition_E or condition_F or condition_G)
query_sql=f'select * from {tb_name} where t1 != 1 or (t2 <= 3 and t3 > 4) and t3 <= 5 and (t7 is not Null and t9 != false)'
tdSql.query(query_sql)
tdSql.checkRows(44)
defqueryColPreCal(self,tb_name):
## avg sum condition_A or/and condition_B
query_sql=f'select avg(c3), sum(c3) from {tb_name} where c10 = 5 or c8 is Null'
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[0]),3)
tdSql.checkEqual(int(res[1]),6)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where c6 = 1.1 and c8 is not Null'
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[1]),16)
## avg sum condition_A or/and condition_B or/and condition_C
query_sql=f'select avg(c3), sum(c3) from {tb_name} where c10 = 4 or c8 is Null or c9 = false '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[0]),2)
tdSql.checkEqual(int(res[1]),6)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where c6 = 1.1 and c8 is not Null and c9 = false '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[0]),1)
tdSql.checkEqual(int(res[1]),1)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where c6 = 1.1 and c8 is not Null or c9 = false '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[1]),17)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where c6 = 1.1 or c8 is not Null and c9 = false '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[1]),17)
## count avg sum condition_A or/and condition_B or/and condition_C interval
query_sql=f'select count(*), avg(c3), sum(c3) from {tb_name} where c10 = 4 or c8 is Null or c9 = false interval(16d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
tdSql.checkEqual(int(res[0][1]),1)
tdSql.checkEqual(int(res[0][2]),4)
tdSql.checkEqual(int(res[0][3]),4)
tdSql.checkEqual(int(res[1][1]),2)
tdSql.checkEqual(int(res[1][2]),1)
tdSql.checkEqual(int(res[1][3]),2)
query_sql=f'select count(*), avg(c3), sum(c3) from {tb_name} where c6 = 1.1 and c8 is not Null and c9 = false interval(16d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(1)
tdSql.checkEqual(int(res[0][1]),1)
tdSql.checkEqual(int(res[0][2]),1)
tdSql.checkEqual(int(res[0][3]),1)
## count avg sum condition_A or condition_B or in and like or condition_C interval
query_sql=f'select count(*), sum(c3) from {tb_name} where c10 = 4 or c8 is Null or c2 in (1, 2) and c7 like "binary_" or c1 <> 1 interval(16d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
tdSql.checkEqual(int(res[0][1]),2)
tdSql.checkEqual(int(res[0][2]),5)
tdSql.checkEqual(int(res[1][1]),2)
tdSql.checkEqual(int(res[1][2]),2)
defqueryTagPreCal(self,tb_name):
## avg sum condition_A or/and condition_B
query_sql=f'select avg(c3), sum(c3) from {tb_name} where t10 = 5 or t8 is Null'
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[0]),1)
tdSql.checkEqual(int(res[1]),18)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where t6 = 1.1 and t8 is not Null'
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[1]),18)
## avg sum condition_A or/and condition_B or/and condition_C
query_sql=f'select avg(c3), sum(c3) from {tb_name} where t10 = 4 or t8 is Null or t9 = true '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[0]),1)
tdSql.checkEqual(int(res[1]),90)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where t6 = 1.1 and t8 is not Null and t9 = true '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[0]),1)
tdSql.checkEqual(int(res[1]),18)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where t6 = 1.1 and t8 is not Null or t9 = true '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[1]),90)
query_sql=f'select avg(c3), sum(c3) from {tb_name} where t6 = 1.1 or t8 is not Null and t9 = true '
res=tdSql.query(query_sql,True)[0]
tdSql.checkEqual(int(res[1]),90)
## count avg sum condition_A or/and condition_B or/and condition_C interval
query_sql=f'select count(*), avg(c3), sum(c3) from {tb_name} where t10 = 4 or t8 is Null or t9 = true interval(16d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
tdSql.checkEqual(int(res[0][1]),25)
tdSql.checkEqual(int(res[0][2]),2)
tdSql.checkEqual(int(res[0][3]),60)
tdSql.checkEqual(int(res[1][1]),30)
tdSql.checkEqual(int(res[1][2]),1)
tdSql.checkEqual(int(res[1][3]),30)
query_sql=f'select count(*), avg(c3), sum(c3) from {tb_name} where t6 = 1.1 and t8 is not Null and t9 = true interval(16d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
tdSql.checkEqual(int(res[0][1]),5)
tdSql.checkEqual(int(res[0][2]),2)
tdSql.checkEqual(int(res[0][3]),12)
tdSql.checkEqual(int(res[1][1]),6)
tdSql.checkEqual(int(res[1][2]),1)
tdSql.checkEqual(int(res[1][3]),6)
## count avg sum condition_A or condition_B or in and like or condition_C interval
query_sql=f'select count(*), sum(c3) from {tb_name} where t10 = 4 or t8 is Null or t2 in (1, 2) and t7 like "binary_" or t1 <> 1 interval(16d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
tdSql.checkEqual(int(res[0][1]),25)
tdSql.checkEqual(int(res[0][2]),60)
tdSql.checkEqual(int(res[1][1]),30)
tdSql.checkEqual(int(res[1][2]),30)
defqueryMultiTb(self,tb_name):
## select from (condition_A or condition_B)
query_sql=f'select c10 from (select * from {tb_name} where c1 >1 or c2 >=3)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(3)
tdSql.checkEqual(int(res[2][0]),11)
## select from (condition_A or condition_B) where condition_A or condition_B
query_sql=f'select c10 from (select * from {tb_name} where c1 >1 or c2 >=3) where c1 =2 or c4 = 2'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
tdSql.checkEqual(int(res[1][0]),3)
## select from (condition_A or condition_B and like and in) where condition_A or condition_B or like and in
query_sql=f'select c10 from (select * from {tb_name} where c1 >1 or c2 = 2 and c7 like "binar_" and c4 in (3, 5)) where c1 != 2 or c3 = 1 or c8 like "ncha_" and c9 in (true)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(7)
tdSql.checkEqual(int(res[6][0]),10)
## select count avg sum from (condition_A or condition_B and like and in) where condition_A or condition_B or like and in interval
query_sql=f'select count(*), avg(c6), sum(c3) from (select * from {tb_name} where c1 >1 or c2 = 2 and c7 like "binar_" and c4 in (3, 5)) where c1 != 2 or c3 = 1 or c8 like "ncha_" and c9 in (true) interval(8d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(3)
tdSql.checkEqual(int(res[0][1]),3)
tdSql.checkEqual(int(res[0][2]),1)
tdSql.checkEqual(int(res[0][3]),10)
tdSql.checkEqual(int(res[1][1]),3)
tdSql.checkEqual(int(res[1][2]),3)
tdSql.checkEqual(int(res[1][3]),3)
tdSql.checkEqual(int(res[2][1]),1)
tdSql.checkEqual(int(res[2][2]),1)
tdSql.checkEqual(int(res[2][3]),1)
## cname
query_sql=f'select c10 from (select * from {tb_name} where c1 >1 or c2 = 2 and c7 like "binar_" and c4 in (3, 5)) a where a.c1 != 2 or a.c3 = 1 or a.c8 like "ncha_" and a.c9 in (true)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(7)
tdSql.checkEqual(int(res[6][0]),10)
## multi cname
query_sql=f'select b.c10 from (select * from {tb_name} where c9 = true or c2 = 2) a, (select * from {tb_name} where c7 like "binar_" or c4 in (3, 5)) b where a.ts = b.ts'
res=tdSql.query(query_sql,True)
tdSql.checkRows(10)
tdSql.checkEqual(int(res[9][0]),10)
defqueryMultiTbWithTag(self,tb_name):
## select count avg sum from (condition_A or condition_B and like and in) where condition_A or condition_B or condition_tag_C or condition_tag_D or like and in interval
query_sql=f'select count(*), avg(c6), sum(c3) from (select * from {tb_name} where c1 >1 or c2 = 2 and c7 like "binar_" and c4 in (3, 5)) where c1 != 2 or c3 = 1 or t1=2 or t1=3 or c8 like "ncha_" and c9 in (true) interval(8d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(3)
tdSql.checkEqual(int(res[0][1]),17)
tdSql.checkEqual(int(res[0][2]),1)
tdSql.checkEqual(int(res[0][3]),38)
tdSql.checkEqual(int(res[1][1]),10)
tdSql.checkEqual(int(res[1][2]),2)
tdSql.checkEqual(int(res[1][3]),17)
tdSql.checkEqual(int(res[2][1]),8)
tdSql.checkEqual(int(res[2][2]),1)
tdSql.checkEqual(int(res[2][3]),15)
## select count avg sum from (condition_A and condition_B and and line and in and ts and condition_tag_A and condition_tag_B and between) where condition_C orr condition_D or condition_tag_C or condition_tag_D or like and in interval
query_sql=f'select count(*), avg(c6), sum(c3) from (select * from {tb_name} where c1 >= 1 and c2 = 2 and c7 like "binar_" and c4 in (3, 5) and ts > "2021-01-11 12:00:00" and t1 < 2 and t1 > 0 and c6 between 0 and 7) where c1 != 2 or c3 = 1 or t1=2 or t1=3 or c8 like "ncha_" and c9 in (true) interval(8d)'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
tdSql.checkEqual(int(res[0][1]),2)
tdSql.checkEqual(int(res[0][2]),1)
tdSql.checkEqual(int(res[0][3]),2)
tdSql.checkEqual(int(res[1][1]),1)
tdSql.checkEqual(int(res[1][2]),1)
tdSql.checkEqual(int(res[1][3]),1)
defqueryJoin(self,tb_name):
## between tss tag
query_sql=f'select stb1.ts, stb2.ts, stb1.t1, stb1.c10 from {tb_name}1 stb1, {tb_name}2 stb2 where stb1.ts = stb2.ts and stb1.ts <= "2021-01-07 12:00:00" and stb2.ts < "2021-01-07 12:00:00" and stb1.t1 = stb2.t1'
query_sql=f'select stb1.t1, stb2.t1, stb1.c1, stb2.c2 from {tb_name}1 stb1, {tb_name}2 stb2 where stb1.ts = stb2.ts and stb1.t1 = stb2.t1 and stb2.c2 <= 2 and stb1.c1 > 0'
res=tdSql.query(query_sql,True)
tdSql.checkRows(9)
## between ts tags
query_sql=f'select stb1.t1, stb2.t1, stb1.c1, stb2.c2 from {tb_name}1 stb1, {tb_name}2 stb2 where stb1.ts = stb2.ts and stb1.t1 = stb2.t1 and stb1.t1 = 1 '
res=tdSql.query(query_sql,True)
tdSql.checkRows(11)
## between ts tag tbnames
query_sql=f'select stb1.t1, stb2.t1, stb1.c1, stb2.c2 from {tb_name}1 stb1, {tb_name}2 stb2 where stb1.ts = stb2.ts and stb1.t1 = stb2.t1 and stb1.tbname is not Null'
res=tdSql.query(query_sql,True)
tdSql.checkRows(11)
## between ts col tag tbname
query_sql=f'select stb1.tbname, stb1.t1, stb2.t1, stb1.c1, stb2.c2 from {tb_name}1 stb1, {tb_name}2 stb2 where stb1.ts = stb2.ts and stb1.t1 = stb2.t1 and stb1.tbname is not Null and stb1.c2 = 3'
res=tdSql.query(query_sql,True)
tdSql.checkRows(2)
query_sql=f'select stb1.tbname, stb1.*, stb2.tbname, stb1.* from {tb_name}1 stb1, {tb_name}2 stb2 where stb1.ts = stb2.ts and stb1.t1 = stb2.t1 and (stb1.t2 != 1 or stb1.t3 <= 1) and (stb2.tbname like "{tb_name}%" or stb2.tbname is Null ) and stb1.tbname is not Null and stb2.c2 = 3'