我只是想知道如何在 PostreSQL 存储过程中将整数列表存储为变量。
例如,我有这样的陈述:
select A from B where C IN (1,2,3);
select A from B where C IN (1,2);
Run Code Online (Sandbox Code Playgroud)
我想声明一个变量来存储(1,2,3)or (1,2)。
所以我最终会得到这样的声明:
select A from B where C in numberList;
Run Code Online (Sandbox Code Playgroud)
(numberList 的值为 (1,2,3))
我不知道我应该使用哪种数据类型,我在网上查了一下,在 psql 中找不到列表类型。它的语法是什么?
这实际上是我感到困惑的一个面试问题的一部分.
class A
{
public A()
{
System.out.println("A") ;
}
}
class B extends A
{
public B()
{
System.out.println("B") ;
}
}
A a1 = new B();
System.out.println() ;
A a2 = (A) new B() ;
Run Code Online (Sandbox Code Playgroud)
所以问题是打印出来的是什么?
起初我以为它应该打印出来
B
A
B
A
Run Code Online (Sandbox Code Playgroud)
但是在我跑回家后,它给了
A
B
A
B
Run Code Online (Sandbox Code Playgroud)
我理解它是继承,然后将B向上转换为A,它也是合法的语法,但为什么B之前的A打印?