【发布时间】:2014-04-10 03:13:58
【问题描述】:
我由此生成一个视图:
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;
它为我提供text 类型的工作日信息。然后我使用:
select date::date, weekday::varchar from datetoday;
现在桌子是这样的
2013-3-1 Friday
2013-3-2 Saturday
如果我要选择条目:
select * from datetoday where weekday='Friday'
将其从 text 更改为 character varying。
好像长度是固定的,不是按照每个字长来的。
例如,“星期五”的长度应为 6,星期三的长度应为 9。
我该如何改变这个,让长度为单词的实际长度?
因为稍后我会将这个表的weekday 列与另一个表的weekday 列进行比较。喜欢
where a.weekday=b.weekday
另一个工作日来自jsp的用户,所以长度不同。
现在长度固定了,比较失败。
【问题讨论】:
-
这没有多大意义。你能显示完整的 SQL 和它的输出吗?
-
为什么不使用 SELECT EXTRACT(DOW FROM TIMESTAMP dt) 而不是 to_char(dt, 'Day')。这将为您提供星期几(0 - 6;星期日为 0)。然后你就可以比较了。
-
其他表是工作日信息,例如星期一而不是数字。
标签: sql postgresql database-design date-format generate-series