我从这里生成一个视图:
create or replace view datetoday as
select to_char(dt, 'yyyy-mm-dd') as date, to_char(dt, 'Day') as weekday from
(select ('2013-03-01'::date + i) dt from generate_series(0,'2013-03-03'::date - 2013-03-01'::date)
as t(i)) as t;
Run Code Online (Sandbox Code Playgroud)
它给了我工作日信息text类型.然后我用:
select date::date, weekday::varchar from datetoday;
Run Code Online (Sandbox Code Playgroud)
现在桌子就像
2013-3-1 Friday
2013-3-2 Saturday
Run Code Online (Sandbox Code Playgroud)
如果我想选择条目:
select * from datetoday where weekday='Friday'
Run Code Online (Sandbox Code Playgroud)
将其从改变text到character varying.
似乎长度固定不是根据每个字长.
例如'星期五'应该有长度6和星期三长度9.
我怎么能改变这个,让长度是单词的实际长度?
因为稍后我将把这个表的weekday列与另一个表的weekday列进行比较.喜欢
where a.weekday=b.weekday
Run Code Online (Sandbox Code Playgroud)
另一个工作日来自jsp的用户,因此长度不同.
现在长度固定,比较失败.
这是一个Java字符串问题.我用它substring(beginindex)来获取子串.考虑到String s="hello",这个字符串的长度是5.但是当我使用s.substring(5)或s.substring(5,5)编译器没有给我一个错误.字符串的索引应为0到length-1.为什么它不适用于我的情况?我认为这s.substring(5)应该给我一个错误,但事实并非如此.
我在这里有一个问题:
String s1="9578";
String s2="434";
int len1=s1.length();
int len2=s2.length();
System.out.println(len1);
System.out.println(len2);
String temp;
temp=s1;
s1=s2;
s2=temp;
System.out.println("after swaping: ");
System.out.println(len1);
System.out.println(len2);
Run Code Online (Sandbox Code Playgroud)
打印出来的将是:
4
3
after swaping:
4
3
Run Code Online (Sandbox Code Playgroud)
值的变化len1和len2不变.len1应该指向s1并且len2应该指向s2.他们为什么不改变?
我将整数对类设置如下:
public class pair{
int a;
int b;
pair(int p,int q){
this.a=p;
this.b=q;
}
}
Run Code Online (Sandbox Code Playgroud)
当我将它们添加到hashset时,没有重复:
HashSet<pair> set=new HashSet<pair>();
pair temp=new pair(3,5);
set.add(temp);
pair temp1=new pair(3,5);
set.add(temp1);
for(pair p:set){
System.out.println(p.a+" "+p.b);
}
Run Code Online (Sandbox Code Playgroud)
但它给了我这个输出:
3 5
3 5
Run Code Online (Sandbox Code Playgroud)
我应该编辑什么以在hashset中没有重复?