No.8
在KES中,下面那种写法可以将数字转换为字符串?(多选)
A.
SELECT
CAST(123 as VARCHAR(10));
B.
SELECT
text '123';
C.
SELECT
123::text;
D.
SELECT
to_number('ab ,1,2x3,4b5', '999999');
【答案】ABC
一个类型转换指定从一种数据类型到另一种数据类型的转换。
KingbaseES接受两种等价的类型转换语法:
CAST(expression
AS type)
expression::type
CAST语法遵从 SQL,而用::的语法是KingbaseES的历史用法。
也可以使用一个类似函数的语法来指定一个类型强制:
typename
'string'
::、CAST()以及函数调用语法也可以被用来指定任意表达式的运行时类型转换。要避免语法歧义,type 'string'语法只能被用来指定简单文字常量的类型。type 'string'语法上的另一个限制是它无法对数组类型工作,指定一个数组常量的类型可使用::或CAST()。
to_number:把字符串转成数字
No.9
KES中以下哪个SQL会报错?(多选)
A.
SELECT
ino,COUNT(*) FROM exam.score GROUP BY cno,ino;
B.
SELECT
cno,MIN(AVG(score)) FROM exam.score;
C.
SELECT
count(sno) FROM exam.student GROUP BY gender;
D.
SELECT
cno,MIN(score),MAX(score) FROM exam.score GROUP BY cno WHERE MIN(score) >=70
ORDER BY 2;
【答案】BD
test=#
SELECT cno,MIN(AVG(score)) FROM exam.score;
错误: 不允许嵌套调用聚合函数
第1行SELECT cno,MIN(AVG(score)) FROM
exam.score;
^
test=#
SELECT cno,MIN(score),MAX(score) FROM exam.score GROUP BY cno WHERE MIN(score)
>=70 ORDER BY 2;
错误: 语法错误
在 "WHERE" 或附近的
第1行...IN(score),MAX(score) FROM
exam.score GROUP BY cno WHERE MIN(...
^




