feat: test case
This commit is contained in:
parent
b3ef8b2f44
commit
8f5134913c
|
@ -1748,6 +1748,7 @@ static int32_t translateHistogramPartial(SFunctionNode* pFunc, char* pErrBuf, in
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define NUMERIC_TO_STRINGS_LEN 25
|
||||||
static int32_t translateGreatestleast(SFunctionNode* pFunc, char* pErrBuf, int32_t len) {
|
static int32_t translateGreatestleast(SFunctionNode* pFunc, char* pErrBuf, int32_t len) {
|
||||||
if (LIST_LENGTH(pFunc->pParameterList) < 2) {
|
if (LIST_LENGTH(pFunc->pParameterList) < 2) {
|
||||||
return invaildFuncParaNumErrMsg(pErrBuf, len, pFunc->functionName);
|
return invaildFuncParaNumErrMsg(pErrBuf, len, pFunc->functionName);
|
||||||
|
@ -1756,32 +1757,48 @@ static int32_t translateGreatestleast(SFunctionNode* pFunc, char* pErrBuf, int32
|
||||||
bool mixTypeToStrings = tsTransToStrWhenMixTypeInLeast;
|
bool mixTypeToStrings = tsTransToStrWhenMixTypeInLeast;
|
||||||
|
|
||||||
SDataType res = {.type = 0};
|
SDataType res = {.type = 0};
|
||||||
|
bool resInit = false;
|
||||||
for (int32_t i = 0; i < LIST_LENGTH(pFunc->pParameterList); i++) {
|
for (int32_t i = 0; i < LIST_LENGTH(pFunc->pParameterList); i++) {
|
||||||
SDataType* para = getSDataTypeFromNode(nodesListGetNode(pFunc->pParameterList, i));
|
SDataType* para = getSDataTypeFromNode(nodesListGetNode(pFunc->pParameterList, i));
|
||||||
|
|
||||||
if (IS_NULL_TYPE(para->type)) {
|
if (IS_NULL_TYPE(para->type)) {
|
||||||
res.type = TSDB_DATA_TYPE_NULL;
|
res.type = TSDB_DATA_TYPE_NULL;
|
||||||
|
res.bytes = tDataTypes[TSDB_DATA_TYPE_NULL].bytes;
|
||||||
break;
|
break;
|
||||||
} else if (IS_MATHABLE_TYPE(para->type)) {
|
}
|
||||||
if(res.type == 0) {
|
|
||||||
res.type = para->type;
|
if (!resInit) {
|
||||||
res.bytes = para->bytes;
|
res.type = para->type;
|
||||||
} else if(IS_MATHABLE_TYPE(res.type) || !mixTypeToStrings) {
|
res.bytes = para->bytes;
|
||||||
|
resInit = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IS_MATHABLE_TYPE(para->type)) {
|
||||||
|
if (res.type == para->type) {
|
||||||
|
continue;
|
||||||
|
} else if (IS_MATHABLE_TYPE(res.type) || !mixTypeToStrings) {
|
||||||
int32_t resType = vectorGetConvertType(res.type, para->type);
|
int32_t resType = vectorGetConvertType(res.type, para->type);
|
||||||
res.type = resType == 0 ? res.type : resType;
|
res.type = resType == 0 ? res.type : resType;
|
||||||
res.bytes = tDataTypes[resType].bytes;
|
res.bytes = tDataTypes[resType].bytes;
|
||||||
|
} else {
|
||||||
|
// last res is strings, para is numeric and mixTypeToStrings is true
|
||||||
|
res.bytes = TMAX(res.bytes, NUMERIC_TO_STRINGS_LEN);
|
||||||
}
|
}
|
||||||
} else if (IS_COMPARE_STR_DATA_TYPE(para->type)) {
|
} else if (IS_COMPARE_STR_DATA_TYPE(para->type)) {
|
||||||
if(res.type == 0) {
|
if (IS_COMPARE_STR_DATA_TYPE(res.type)) {
|
||||||
res.type = para->type;
|
|
||||||
res.bytes = para->bytes;
|
|
||||||
} else if(IS_COMPARE_STR_DATA_TYPE(res.type)) {
|
|
||||||
int32_t resType = vectorGetConvertType(res.type, para->type);
|
int32_t resType = vectorGetConvertType(res.type, para->type);
|
||||||
res.type = resType == 0 ? res.type : resType;
|
res.type = resType == 0 ? res.type : resType;
|
||||||
res.bytes = TMAX(res.bytes, para->bytes);
|
res.bytes = TMAX(res.bytes, para->bytes);
|
||||||
} else if(mixTypeToStrings) { // res.type is mathable type
|
} else if (mixTypeToStrings) {
|
||||||
|
// last res is numeric, para is string, and mixTypeToStrings is true
|
||||||
res.type = para->type;
|
res.type = para->type;
|
||||||
res.bytes = para->bytes;
|
res.bytes = TMAX(para->bytes, NUMERIC_TO_STRINGS_LEN);
|
||||||
|
} else {
|
||||||
|
// last res is numeric, para is string, and mixTypeToStrings is false
|
||||||
|
int32_t resType = vectorGetConvertType(res.type, para->type);
|
||||||
|
res.type = resType == 0 ? res.type : resType;
|
||||||
|
res.bytes = tDataTypes[resType].bytes;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return invaildFuncParaTypeErrMsg(pErrBuf, len, pFunc->functionName);
|
return invaildFuncParaTypeErrMsg(pErrBuf, len, pFunc->functionName);
|
||||||
|
|
|
@ -4473,9 +4473,12 @@ static int32_t greatestLeastImpl(SScalarParam *pInput, int32_t inputNum, SScalar
|
||||||
int32_t *resultColIndex = NULL;
|
int32_t *resultColIndex = NULL;
|
||||||
|
|
||||||
int32_t numOfRows = 0;
|
int32_t numOfRows = 0;
|
||||||
bool IsNullType = false;
|
bool IsNullType = outputType == TSDB_DATA_TYPE_NULL ? true : false;
|
||||||
// If any column is NULL type, the output is NULL type
|
// If any column is NULL type, the output is NULL type
|
||||||
for (int32_t i = 0; i < inputNum; i++) {
|
for (int32_t i = 0; i < inputNum; i++) {
|
||||||
|
if (IsNullType) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (numOfRows != 0 && numOfRows != pInput[i].numOfRows && pInput[i].numOfRows != 1 && numOfRows != 1) {
|
if (numOfRows != 0 && numOfRows != pInput[i].numOfRows && pInput[i].numOfRows != 1 && numOfRows != 1) {
|
||||||
qError("input rows not match, func:%s, rows:%d, %d", __FUNCTION__, numOfRows, pInput[i].numOfRows);
|
qError("input rows not match, func:%s, rows:%d, %d", __FUNCTION__, numOfRows, pInput[i].numOfRows);
|
||||||
code = TSDB_CODE_TSC_INTERNAL_ERROR;
|
code = TSDB_CODE_TSC_INTERNAL_ERROR;
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -42,12 +42,12 @@ taos> select MOD(10.55, 1) + 1
|
||||||
taos> select MOD(MOD(MOD(MOD(MOD(MOD(MOD(123.123456789, 9), 8), 7), 6), 5), 4), 3)
|
taos> select MOD(MOD(MOD(MOD(MOD(MOD(MOD(123.123456789, 9), 8), 7), 6), 5), 4), 3)
|
||||||
mod(mod(mod(mod(mod(mod(mod(123.123456789, 9), 8), 7), 6), 5), 4 |
|
mod(mod(mod(mod(mod(mod(mod(123.123456789, 9), 8), 7), 6), 5), 4 |
|
||||||
===================================================================
|
===================================================================
|
||||||
0.12345678900000 |
|
0.123456789000002 |
|
||||||
|
|
||||||
taos> select MOD(MOD(MOD(MOD(MOD(MOD(MOD(123456789.123456789, -1), -2), -3), -4), -5), -6), -7)
|
taos> select MOD(MOD(MOD(MOD(MOD(MOD(MOD(123456789.123456789, -1), -2), -3), -4), -5), -6), -7)
|
||||||
mod(mod(mod(mod(mod(mod(mod(123456789.123456789, -1), -2), -3), |
|
mod(mod(mod(mod(mod(mod(mod(123456789.123456789, -1), -2), -3), |
|
||||||
===================================================================
|
===================================================================
|
||||||
0.12345679104328 |
|
0.123456791043282 |
|
||||||
|
|
||||||
taos> select MOD(87654321.123456789, id + 1) from ts_4893.meters order by ts limit 10
|
taos> select MOD(87654321.123456789, id + 1) from ts_4893.meters order by ts limit 10
|
||||||
mod(87654321.123456789, id + 1) |
|
mod(87654321.123456789, id + 1) |
|
||||||
|
|
|
|
@ -67,12 +67,12 @@ taos> select ROUND(10.55, 1) + 1
|
||||||
taos> select ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(123.123456789, 9), 8), 7), 6), 5), 4))
|
taos> select ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(123.123456789, 9), 8), 7), 6), 5), 4))
|
||||||
round(round(round(round(round(round(round(123.123456789, 9), 8), |
|
round(round(round(round(round(round(round(123.123456789, 9), 8), |
|
||||||
===================================================================
|
===================================================================
|
||||||
12 |
|
123 |
|
||||||
|
|
||||||
taos> select ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(123456789.123456789, -1), -2), -3), -4), -5), -6))
|
taos> select ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(ROUND(123456789.123456789, -1), -2), -3), -4), -5), -6))
|
||||||
round(round(round(round(round(round(round(123456789.123456789, - |
|
round(round(round(round(round(round(round(123456789.123456789, - |
|
||||||
===================================================================
|
===================================================================
|
||||||
12300000 |
|
123000000 |
|
||||||
|
|
||||||
taos> select ROUND(current) from ts_4893.meters order by ts limit 20
|
taos> select ROUND(current) from ts_4893.meters order by ts limit 20
|
||||||
round(current) |
|
round(current) |
|
||||||
|
|
|
|
@ -47,12 +47,12 @@ taos> select TRUNCATE(10.55, 1) + 1
|
||||||
taos> select TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(123.123456789, 9), 8), 7), 6), 5), 4), 3)
|
taos> select TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(123.123456789, 9), 8), 7), 6), 5), 4), 3)
|
||||||
truncate(truncate(truncate(truncate(truncate(truncate(truncate(1 |
|
truncate(truncate(truncate(truncate(truncate(truncate(truncate(1 |
|
||||||
===================================================================
|
===================================================================
|
||||||
123.12 |
|
123.123 |
|
||||||
|
|
||||||
taos> select TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(123456789.123456789, -1), -2), -3), -4), -5), -6), -7)
|
taos> select TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(TRUNCATE(123456789.123456789, -1), -2), -3), -4), -5), -6), -7)
|
||||||
truncate(truncate(truncate(truncate(truncate(truncate(truncate(1 |
|
truncate(truncate(truncate(truncate(truncate(truncate(truncate(1 |
|
||||||
===================================================================
|
===================================================================
|
||||||
12000000 |
|
120000000 |
|
||||||
|
|
||||||
taos> select TRUNCATE(87654321.123456789, id) from ts_4893.meters order by ts limit 10
|
taos> select TRUNCATE(87654321.123456789, id) from ts_4893.meters order by ts limit 10
|
||||||
truncate(87654321.123456789, id) |
|
truncate(87654321.123456789, id) |
|
||||||
|
@ -144,12 +144,12 @@ taos> select TRUNC(10.55, 1) + 1
|
||||||
taos> select TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(123.123456789, 9), 8), 7), 6), 5), 4), 3)
|
taos> select TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(123.123456789, 9), 8), 7), 6), 5), 4), 3)
|
||||||
trunc(trunc(trunc(trunc(trunc(trunc(trunc(123.123456789, 9), 8), |
|
trunc(trunc(trunc(trunc(trunc(trunc(trunc(123.123456789, 9), 8), |
|
||||||
===================================================================
|
===================================================================
|
||||||
123.12 |
|
123.123 |
|
||||||
|
|
||||||
taos> select TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(123456789.123456789, -1), -2), -3), -4), -5), -6), -7)
|
taos> select TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(123456789.123456789, -1), -2), -3), -4), -5), -6), -7)
|
||||||
trunc(trunc(trunc(trunc(trunc(trunc(trunc(123456789.123456789, - |
|
trunc(trunc(trunc(trunc(trunc(trunc(trunc(123456789.123456789, - |
|
||||||
===================================================================
|
===================================================================
|
||||||
12000000 |
|
120000000 |
|
||||||
|
|
||||||
taos> select TRUNC(87654321.123456789, id) from ts_4893.meters order by ts limit 10
|
taos> select TRUNC(87654321.123456789, id) from ts_4893.meters order by ts limit 10
|
||||||
trunc(87654321.123456789, id) |
|
trunc(87654321.123456789, id) |
|
||||||
|
|
|
|
@ -0,0 +1,232 @@
|
||||||
|
alter local 'transToStrWhenMixTypeInLeast' '1';
|
||||||
|
select GREATEST(1,2,3,4,5,6,7,8,9,10);
|
||||||
|
select GREATEST(1,1.1,2.23,3.4444,5.66666666,6.21241241,7.999999999999);
|
||||||
|
select GREATEST(1,'2',3.3,4.4,5);
|
||||||
|
select GREATEST(121,'18');
|
||||||
|
select GREATEST(18888,'18');
|
||||||
|
select GREATEST(1,2,3,4,5,'5.1');
|
||||||
|
select GREATEST('1','2','3','4',5);
|
||||||
|
select GREATEST('1','2','3','4','5');
|
||||||
|
select GREATEST(1,2,3,4,5,6,7,'a','b','一','二','三');
|
||||||
|
select GREATEST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213');
|
||||||
|
select GREATEST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213','1231213.123123');
|
||||||
|
select GREATEST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select GREATEST(cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select GREATEST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)), cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as tinyint));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as smallint));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as int));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as bigint));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as float));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as double));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as varchar(20)));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as nchar(20)));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as tinyint));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as smallint));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as int));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as bigint));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as float));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as double));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as varchar(20)));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as smallint));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as int));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as bigint));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as float));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as double));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as nchar(20)));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as smallint));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as int));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as bigint));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as float));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as double));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as varchar(20)));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as int));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as bigint));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as float));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as double));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as int));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as bigint));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as float));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as double));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as bigint));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as float));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as double));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as bigint));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as float));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as double));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as nchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as float));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as double));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as float));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as double));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as double));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as double));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast('中文测试' as varchar(20)), cast('中文测试一' as varchar(20)));
|
||||||
|
select GREATEST(cast('中文测试' as varchar(20)), cast('中文测试一' as nchar(20)));
|
||||||
|
select GREATEST(cast('中文测试一' as varchar(20)), cast('中文测试' as varchar(20)));
|
||||||
|
select GREATEST(cast('中文测试一' as varchar(20)), cast('中文测试' as nchar(20)));
|
||||||
|
select GREATEST(cast('abc123abc' as varchar(20)), cast('abc124abc' as varchar(20)));
|
||||||
|
select GREATEST(cast('abc123abc' as varchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select GREATEST(cast('abc124abc' as varchar(20)), cast('abc123abc' as varchar(20)));
|
||||||
|
select GREATEST(cast('abc124abc' as varchar(20)), cast('abc123abc' as nchar(20)));
|
||||||
|
select GREATEST(cast('abc123abc' as nchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as float), cast(102 as varchar(20)));
|
||||||
|
select GREATEST(cast(100 as float), cast(101 as tinyint), cast(102 as varchar(20)));
|
||||||
|
select GREATEST(cast(100 as float), cast(101 as varchar(20)), cast(102 as tinyint));
|
||||||
|
select GREATEST(cast(100 as varchar(20)), cast(101 as float), cast(102 as tinyint));
|
||||||
|
select GREATEST('a','b','c','d','e','f','g','h','1231','15155');
|
||||||
|
select GREATEST(current, voltage, phase, id, nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(current, voltage, phase, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(221, voltage) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(5, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('23', 3443434343434343);
|
||||||
|
select GREATEST(co, 3443434343434343) from ts_4893.n1;
|
||||||
|
select GREATEST('23', 3443434343434343) from ts_4893.n1;
|
||||||
|
select GREATEST('23', 1443434343434343) from ts_4893.n1;
|
||||||
|
select GREATEST(current, voltage) from ts_4893.n1;
|
||||||
|
select GREATEST(current, voltage, '15') from ts_4893.n1;
|
||||||
|
alter local 'transToStrWhenMixTypeInLeast' '0';
|
||||||
|
select GREATEST(1,'2',3.3,4.4,5);
|
||||||
|
select GREATEST(1,2,3,4,5,'5.1');
|
||||||
|
select GREATEST(121,'18');
|
||||||
|
select GREATEST('1','2','3','4','5');
|
||||||
|
select GREATEST(1,2,3,4,5,6,7,'a','b','一','二','三');
|
||||||
|
select GREATEST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213');
|
||||||
|
select GREATEST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213','1231213.123123');
|
||||||
|
select GREATEST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select GREATEST(cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select GREATEST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)), cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as tinyint));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as smallint));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as int));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as bigint));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as float));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as double));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as varchar(20)));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as nchar(20)));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as tinyint));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as smallint));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as int));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as bigint));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as float));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as double));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as varchar(20)));
|
||||||
|
select GREATEST(cast(101 as tinyint), cast(100 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as smallint));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as int));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as bigint));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as float));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as double));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000 as smallint), cast(1001 as nchar(20)));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as smallint));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as int));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as bigint));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as float));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as double));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as varchar(20)));
|
||||||
|
select GREATEST(cast(1001 as smallint), cast(1000 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as int));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as bigint));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as float));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as double));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000000 as int), cast(1000001 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as int));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as bigint));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as float));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as double));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000001 as int), cast(1000000 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as bigint));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as float));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as double));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000000000 as bigint), cast(1000000001 as nchar(20)));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as bigint));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as float));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as double));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as varchar(20)));
|
||||||
|
select GREATEST(cast(1000000001 as bigint), cast(1000000000 as nchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as float));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as double));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as float), cast(100001.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as float));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as double));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as float), cast(100000.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as double));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100000.1111111 as double), cast(100001.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as double));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as timestamp));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as varchar(20)));
|
||||||
|
select GREATEST(cast(100001.1111111 as double), cast(100000.1111111 as nchar(20)));
|
||||||
|
select GREATEST(cast('中文测试' as varchar(20)), cast('中文测试一' as varchar(20)));
|
||||||
|
select GREATEST(cast('中文测试' as varchar(20)), cast('中文测试一' as nchar(20)));
|
||||||
|
select GREATEST(cast('中文测试一' as varchar(20)), cast('中文测试' as varchar(20)));
|
||||||
|
select GREATEST(cast('中文测试一' as varchar(20)), cast('中文测试' as nchar(20)));
|
||||||
|
select GREATEST(cast('abc123abc' as varchar(20)), cast('abc124abc' as varchar(20)));
|
||||||
|
select GREATEST(cast('abc123abc' as varchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select GREATEST(cast('abc124abc' as varchar(20)), cast('abc123abc' as varchar(20)));
|
||||||
|
select GREATEST(cast('abc124abc' as varchar(20)), cast('abc123abc' as nchar(20)));
|
||||||
|
select GREATEST(cast('abc123abc' as nchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select GREATEST(cast(100 as tinyint), cast(101 as float), cast(102 as varchar(20)));
|
||||||
|
select GREATEST(cast(100 as float), cast(101 as tinyint), cast(102 as varchar(20)));
|
||||||
|
select GREATEST(cast(100 as float), cast(101 as varchar(20)), cast(102 as tinyint));
|
||||||
|
select GREATEST(cast(100 as varchar(20)), cast(101 as float), cast(102 as tinyint));
|
||||||
|
select GREATEST('a','b','c','d','e','f','g','h','1231','15155');
|
||||||
|
select GREATEST(current, voltage, phase, id, nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(current, voltage, phase, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(221, voltage) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST(5, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('r', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('二中文测试', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select GREATEST('23', 3443434343434343);
|
||||||
|
select GREATEST(co, 3443434343434343) from ts_4893.n1;
|
||||||
|
select GREATEST('23', 1443434343434343) from ts_4893.n1;
|
||||||
|
select GREATEST('23', 3443434343434343) from ts_4893.n1
|
||||||
|
select GREATEST(current, voltage) from ts_4893.n1;
|
||||||
|
select GREATEST(current, voltage, '15') from ts_4893.n1;
|
|
@ -0,0 +1,228 @@
|
||||||
|
alter local 'transToStrWhenMixTypeInLeast' '1';
|
||||||
|
select LEAST(1,2,3,4,5,6,7,8,9,10);
|
||||||
|
select LEAST(1,1.1,2.23,3.4444,5.66666666,6.21241241,7.999999999999);
|
||||||
|
select LEAST(1,'2',3.3,4.4,5);
|
||||||
|
select LEAST(1,2,3,4,5,'5.1');
|
||||||
|
select LEAST('1','2','3','4',5);
|
||||||
|
select LEAST('1','2','3','4','5');
|
||||||
|
select LEAST(1,2,3,4,5,6,7,'a','b','一','二','三');
|
||||||
|
select LEAST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213');
|
||||||
|
select LEAST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213','1231213.123123');
|
||||||
|
select LEAST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select LEAST(cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select LEAST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)), cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as tinyint));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as smallint));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as int));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as bigint));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as float));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as double));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as varchar(20)));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as nchar(20)));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as tinyint));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as smallint));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as int));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as bigint));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as float));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as double));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as varchar(20)));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as nchar(20)));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as smallint));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as int));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as bigint));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as float));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as double));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as varchar(20)));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as nchar(20)));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as smallint));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as int));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as bigint));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as float));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as double));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as varchar(20)));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as nchar(20)));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as int));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as bigint));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as float));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as double));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as varchar(20)));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as nchar(20)));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as int));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as bigint));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as float));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as double));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as varchar(20)));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as nchar(20)));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as bigint));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as float));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as double));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as varchar(20)));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as nchar(20)));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as bigint));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as float));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as double));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as varchar(20)));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as nchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as float));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as double));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as float));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as double));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as double));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as double));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast('中文测试' as varchar(20)), cast('中文测试一' as varchar(20)));
|
||||||
|
select LEAST(cast('中文测试' as varchar(20)), cast('中文测试一' as nchar(20)));
|
||||||
|
select LEAST(cast('中文测试一' as varchar(20)), cast('中文测试' as varchar(20)));
|
||||||
|
select LEAST(cast('中文测试一' as varchar(20)), cast('中文测试' as nchar(20)));
|
||||||
|
select LEAST(cast('abc123abc' as varchar(20)), cast('abc124abc' as varchar(20)));
|
||||||
|
select LEAST(cast('abc123abc' as varchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select LEAST(cast('abc124abc' as varchar(20)), cast('abc123abc' as varchar(20)));
|
||||||
|
select LEAST(cast('abc124abc' as varchar(20)), cast('abc123abc' as nchar(20)));
|
||||||
|
select LEAST(cast('abc123abc' as nchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as float), cast(102 as varchar(20)));
|
||||||
|
select LEAST(cast(100 as varchar(20)), cast(101 as float), cast(102 as tinyint));
|
||||||
|
select LEAST('a','b','c','d','e','f','g','h','1231','15155');
|
||||||
|
select LEAST(current, voltage, phase, id, nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(current, voltage, phase, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(221, voltage) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(5, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('23', 3443434343434343);
|
||||||
|
select LEAST(co, 3443434343434343) from ts_4893.n1;
|
||||||
|
select LEAST('23', 3443434343434343) from ts_4893.n1;
|
||||||
|
select LEAST('23', 1443434343434343) from ts_4893.n1;
|
||||||
|
select LEAST(current, voltage) from ts_4893.n1;
|
||||||
|
select LEAST(current, voltage, '15') from ts_4893.n1;
|
||||||
|
alter local 'transToStrWhenMixTypeInLeast' '0';
|
||||||
|
select LEAST(1,2,3,4,5,6,7,8,9,10);
|
||||||
|
select LEAST(1,1.1,2.23,3.4444,5.66666666,6.21241241,7.999999999999);
|
||||||
|
select LEAST(1,'2',3.3,4.4,5);
|
||||||
|
select LEAST(1,2,3,4,5,'5.1');
|
||||||
|
select LEAST('1','2','3','4',5);
|
||||||
|
select LEAST('1','2','3','4','5');
|
||||||
|
select LEAST(1,2,3,4,5,6,7,'a','b','一','二','三');
|
||||||
|
select LEAST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213');
|
||||||
|
select LEAST(1,2,3,4,5,6,7,'a','b','c','1','2','1231213','1231213.123123');
|
||||||
|
select LEAST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select LEAST(cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)));
|
||||||
|
select LEAST(cast(0 as bool), cast(1 as tinyint), cast(2 as smallint), cast(3 as int), cast(4 as bigint), cast(5 as float), cast(6 as double), cast(8 as varchar(20)), cast(9 as nchar(20)), cast(0 as bool), cast(1 as tinyint unsigned), cast(2 as smallint unsigned), cast(3 as int unsigned), cast(4 as bigint unsigned), cast(5 as float), cast(6 as double));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as tinyint));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as smallint));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as int));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as bigint));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as float));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as double));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as varchar(20)));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as nchar(20)));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as tinyint));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as smallint));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as int));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as bigint));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as float));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as double));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as varchar(20)));
|
||||||
|
select LEAST(cast(101 as tinyint), cast(100 as nchar(20)));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as smallint));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as int));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as bigint));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as float));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as double));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as varchar(20)));
|
||||||
|
select LEAST(cast(1000 as smallint), cast(1001 as nchar(20)));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as smallint));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as int));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as bigint));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as float));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as double));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as varchar(20)));
|
||||||
|
select LEAST(cast(1001 as smallint), cast(1000 as nchar(20)));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as int));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as bigint));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as float));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as double));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as varchar(20)));
|
||||||
|
select LEAST(cast(1000000 as int), cast(1000001 as nchar(20)));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as int));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as bigint));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as float));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as double));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as varchar(20)));
|
||||||
|
select LEAST(cast(1000001 as int), cast(1000000 as nchar(20)));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as bigint));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as float));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as double));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as varchar(20)));
|
||||||
|
select LEAST(cast(1000000000 as bigint), cast(1000000001 as nchar(20)));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as bigint));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as float));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as double));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as varchar(20)));
|
||||||
|
select LEAST(cast(1000000001 as bigint), cast(1000000000 as nchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as float));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as double));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as float), cast(100001.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as float));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as double));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as float), cast(100000.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as double));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100000.1111111 as double), cast(100001.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as double));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as timestamp));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as varchar(20)));
|
||||||
|
select LEAST(cast(100001.1111111 as double), cast(100000.1111111 as nchar(20)));
|
||||||
|
select LEAST(cast('中文测试' as varchar(20)), cast('中文测试一' as varchar(20)));
|
||||||
|
select LEAST(cast('中文测试' as varchar(20)), cast('中文测试一' as nchar(20)));
|
||||||
|
select LEAST(cast('中文测试一' as varchar(20)), cast('中文测试' as varchar(20)));
|
||||||
|
select LEAST(cast('中文测试一' as varchar(20)), cast('中文测试' as nchar(20)));
|
||||||
|
select LEAST(cast('abc123abc' as varchar(20)), cast('abc124abc' as varchar(20)));
|
||||||
|
select LEAST(cast('abc123abc' as varchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select LEAST(cast('abc124abc' as varchar(20)), cast('abc123abc' as varchar(20)));
|
||||||
|
select LEAST(cast('abc124abc' as varchar(20)), cast('abc123abc' as nchar(20)));
|
||||||
|
select LEAST(cast('abc123abc' as nchar(20)), cast('abc124abc' as nchar(20)));
|
||||||
|
select LEAST(cast(100 as tinyint), cast(101 as float), cast(102 as varchar(20)));
|
||||||
|
select LEAST(cast(100 as varchar(20)), cast(101 as float), cast(102 as tinyint));
|
||||||
|
select LEAST('a','b','c','d','e','f','g','h','1231','15155');
|
||||||
|
select LEAST(current, voltage, phase, id, nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(current, voltage, phase, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(nch1, nch2, var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(221, voltage) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST(5, id) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('r', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', nch1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', nch1, nch2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', var1) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('二中文测试', var1, var2) from ts_4893.meters order by ts limit 10;
|
||||||
|
select LEAST('23', 3443434343434343);
|
||||||
|
select LEAST(co, 3443434343434343) from ts_4893.n1;
|
||||||
|
select LEAST('23', 3443434343434343) from ts_4893.n1;
|
||||||
|
select LEAST('23', 1443434343434343) from ts_4893.n1;
|
||||||
|
select LEAST(current, voltage) from ts_4893.n1;
|
||||||
|
select LEAST(current, voltage, '15') from ts_4893.n1;
|
|
@ -40,37 +40,10 @@ class TDTestCase(TBase):
|
||||||
"`var2` VARCHAR(50)) TAGS (`groupid` TINYINT, `location` VARCHAR(16));")
|
"`var2` VARCHAR(50)) TAGS (`groupid` TINYINT, `location` VARCHAR(16));")
|
||||||
tdSql.execute("CREATE table d0 using meters tags(1, 'beijing')")
|
tdSql.execute("CREATE table d0 using meters tags(1, 'beijing')")
|
||||||
tdSql.execute("insert into d0 file '%s'" % datafile)
|
tdSql.execute("insert into d0 file '%s'" % datafile)
|
||||||
|
tdSql.execute("CREATE TABLE `n1` (`ts` TIMESTAMP, `current` FLOAT, `voltage` INT, co NCHAR(10))")
|
||||||
def test_normal_query(self, testCase):
|
tdSql.execute("insert into n1 values(now, 1, null, '23')")
|
||||||
# read sql from .sql file and execute
|
tdSql.execute("insert into n1 values(now, null, 3, '23')")
|
||||||
tdLog.info(f"test normal query.")
|
tdSql.execute("insert into n1 values(now, 5, 3, '23')")
|
||||||
sqlFile = etool.curFile(__file__, f"in/{testCase}.in")
|
|
||||||
ansFile = etool.curFile(__file__, f"ans/{testCase}.csv")
|
|
||||||
with open(sqlFile, 'r') as sql_file:
|
|
||||||
sql_statement = ''
|
|
||||||
tdSql.csvLine = 0
|
|
||||||
for line in sql_file:
|
|
||||||
if not line.strip() or line.strip().startswith('--'):
|
|
||||||
continue
|
|
||||||
|
|
||||||
sql_statement += line.strip()
|
|
||||||
if sql_statement.endswith(';'):
|
|
||||||
sql_statement = sql_statement.rstrip(';')
|
|
||||||
tdSql.checkDataCsvByLine(sql_statement, ansFile)
|
|
||||||
sql_statement = ''
|
|
||||||
err_file_path = etool.curFile(__file__, f"in/{testCase}.err")
|
|
||||||
if not os.path.isfile(err_file_path):
|
|
||||||
return None
|
|
||||||
with open(err_file_path, 'r') as err_file:
|
|
||||||
err_statement = ''
|
|
||||||
for line in err_file:
|
|
||||||
if not line.strip() or line.strip().startswith('--'):
|
|
||||||
continue
|
|
||||||
|
|
||||||
err_statement += line.strip()
|
|
||||||
if err_statement.endswith(';'):
|
|
||||||
tdSql.error(err_statement)
|
|
||||||
err_statement = ''
|
|
||||||
|
|
||||||
def test_normal_query_new(self, testCase):
|
def test_normal_query_new(self, testCase):
|
||||||
# read sql from .sql file and execute
|
# read sql from .sql file and execute
|
||||||
|
@ -310,6 +283,150 @@ class TDTestCase(TBase):
|
||||||
tdSql.error("select * from (select to_iso8601(ts, timezone()), timezone() from ts_4893.meters \
|
tdSql.error("select * from (select to_iso8601(ts, timezone()), timezone() from ts_4893.meters \
|
||||||
order by ts desc) limit 1000;", expectErrInfo="Invalid parameter data type : to_iso8601") # TS-5340
|
order by ts desc) limit 1000;", expectErrInfo="Invalid parameter data type : to_iso8601") # TS-5340
|
||||||
|
|
||||||
|
def test_greatest(self):
|
||||||
|
self.test_normal_query_new("greatest")
|
||||||
|
|
||||||
|
tdSql.execute("alter local 'transToStrWhenMixTypeInLeast' '1';")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(NULL, NULL, NULL, NULL);")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(1, NULL, NULL, NULL);")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(id, NULL, 1) from ts_4893.meters order by ts limit 10;")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
tdSql.checkData(0, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(100 as tinyint), cast(101 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:00.101")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(101 as tinyint), cast(100 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:00.101")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1000 as smallint), cast(1001 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:01.001")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1001 as smallint), cast(1000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:01.001")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1000000 as int), cast(1000001 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:16:40.001")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1000001 as int), cast(1000000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:16:40.001")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1000000000 as bigint), cast(1000000001 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-12 21:46:40.001")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1000000001 as bigint), cast(1000000000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-12 21:46:40.001")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1725506504000 as timestamp), cast(1725506510000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "2024-09-05 11:21:50")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(1725506510000 as timestamp), cast(1725506504000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "2024-09-05 11:21:50")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(100 as tinyint), cast(101 as varchar(20)), cast(102 as float));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "102.000000")
|
||||||
|
|
||||||
|
tdSql.query("select GREATEST(cast(100 as varchar(20)), cast(101 as tinyint), cast(102 as float));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "102.000000")
|
||||||
|
|
||||||
|
tdSql.error("select GREATEST(cast('a' as varbinary), cast('b' as varbinary), 'c', 'd');")
|
||||||
|
tdSql.error("select GREATEST(6, cast('f' as varbinary), cast('b' as varbinary), 'c', 'd');")
|
||||||
|
|
||||||
|
def test_least(self):
|
||||||
|
self.test_normal_query_new("least")
|
||||||
|
|
||||||
|
tdSql.execute("alter local 'transToStrWhenMixTypeInLeast' '1';")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(NULL, NULL, NULL, NULL);")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(1, NULL, NULL, NULL);")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(id, NULL, 1) from ts_4893.meters order by ts limit 10;")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
tdSql.checkData(0, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(100 as tinyint), cast(101 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:00.100")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(101 as tinyint), cast(100 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:00.100")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1000 as smallint), cast(1001 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:01.000")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1001 as smallint), cast(1000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:01.000")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1000000 as int), cast(1000001 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:16:40.000")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1000001 as int), cast(1000000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:16:40.000")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1000000000 as bigint), cast(1000000001 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-12 21:46:40.000")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1000000001 as bigint), cast(1000000000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "1970-01-12 21:46:40.000")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1725506504000 as timestamp), cast(1725506510000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "2024-09-05 11:21:44")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(1725506510000 as timestamp), cast(1725506504000 as timestamp));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "2024-09-05 11:21:44")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(100 as tinyint), cast(101 as varchar(20)), cast(102 as float));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "100")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(100 as varchar(20)), cast(101 as tinyint), cast(102 as float));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "100")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(100 as float), cast(101 as tinyint), cast(102 as varchar(20)));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "100.000000")
|
||||||
|
|
||||||
|
tdSql.query("select LEAST(cast(100 as float), cast(101 as varchar(20)), cast(102 as tinyint));")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, "100.000000")
|
||||||
|
|
||||||
|
tdSql.error("select LEAST(cast('a' as varbinary), cast('b' as varbinary), 'c', 'd');")
|
||||||
|
tdSql.error("select LEAST(cast('f' as varbinary), cast('b' as varbinary), 'c', 'd');")
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
tdLog.debug(f"start to excute {__file__}")
|
tdLog.debug(f"start to excute {__file__}")
|
||||||
|
|
||||||
|
@ -326,7 +443,9 @@ class TDTestCase(TBase):
|
||||||
self.test_degrees()
|
self.test_degrees()
|
||||||
self.test_radians()
|
self.test_radians()
|
||||||
self.test_rand()
|
self.test_rand()
|
||||||
|
self.test_greatest()
|
||||||
|
self.test_least()
|
||||||
|
|
||||||
# char function
|
# char function
|
||||||
self.test_char_length()
|
self.test_char_length()
|
||||||
self.test_char()
|
self.test_char()
|
||||||
|
|
|
@ -668,6 +668,7 @@ void shellPrintField(const char *val, TAOS_FIELD *field, int32_t width, int32_t
|
||||||
printf("%*" PRIu64, width, *((uint64_t *)val));
|
printf("%*" PRIu64, width, *((uint64_t *)val));
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_FLOAT:
|
case TSDB_DATA_TYPE_FLOAT:
|
||||||
|
width = width >= LENGTH ? LENGTH - 1 : width;
|
||||||
if (tsEnableScience) {
|
if (tsEnableScience) {
|
||||||
printf("%*.7e", width, GET_FLOAT_VAL(val));
|
printf("%*.7e", width, GET_FLOAT_VAL(val));
|
||||||
} else {
|
} else {
|
||||||
|
@ -676,6 +677,7 @@ void shellPrintField(const char *val, TAOS_FIELD *field, int32_t width, int32_t
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TSDB_DATA_TYPE_DOUBLE:
|
case TSDB_DATA_TYPE_DOUBLE:
|
||||||
|
width = width >= LENGTH ? LENGTH - 1 : width;
|
||||||
if (tsEnableScience) {
|
if (tsEnableScience) {
|
||||||
snprintf(buf, LENGTH, "%*.15e", width, GET_DOUBLE_VAL(val));
|
snprintf(buf, LENGTH, "%*.15e", width, GET_DOUBLE_VAL(val));
|
||||||
printf("%s", buf);
|
printf("%s", buf);
|
||||||
|
|
Loading…
Reference in New Issue