2015-02-23 78 views
0

我试图在Postgres 9.3中建立一个看起来像这样的字符串。在Postgresql中使用字符串连接下划线

2015_2_23_10 

这是当前年份,月份,日期和小时,由下划线分隔。

下面是一个创建字符串

select 
    cast(extract(year from now()) as text) || '_' || 
    cast(extract(month from now()) as text) || '_' || 
    cast(extract(day from now()) as text) || '_' || 
    cast(extract(hour from now()) as text); 

但是查询,下划线都被转换为空间。我也尝试用E来表示下划线,就像...|| E'_' || ...一样,但那也行不通。

+2

它的工作原理。大概你是用pgadmin来做的,对吧?在输出面板中,您看不到下划线。试试复制并粘贴到文本编辑器中。 – 2015-02-23 15:32:43

+0

@ user_0是的。我在pgadmin中这样做。感谢提示 – CurtisHx 2015-02-23 15:39:29

+2

这可以通过使用'to_char(now(),'yyyy_mm_dd_hh24')'' – 2015-02-23 15:39:39

回答

2

请尝试简单的这种方式来代替。

select to_char(now(), 'yyyy_MM_DD_hh24'); 

见演示:http://sqlfiddle.com/#!15/cb05e/3

@courtesy a_horse_with_no_name

+0

爱您。 <3 <3 <3 – 2015-08-27 20:59:06

+0

很高兴它适合你,祝你好运:) – 2015-08-29 21:02:20