sql语句截取字符串

时间:2023-02-10 21:49:35

Postgresql 当中有四种方式获取当前时间。
 一:now()
     通过now()获取的时间是最完整的时间,包括时区,秒也保留到了6位小数。
     select now();
     得到的结果如下
     '2014-12-24 09:28:31.545145+08'

二:current_timestamp效果是和now()一样的。

三:current_time 
      只显示当前的时间,不包括日期
      select current_time;
      得到的结果如下
      '09:32:02.039705+08'

四:current_date
       只显示当前的日期,不包括小时等信息
       select current_date;
       得到的结果如下
       '2014-12-24'

我们还可以控制now()的返回格式,如下
  select now()::timestamp(0)without time zone;(current_timestamp 是和now()一样的)
 
 时间的计算方式,如下
 select now() + interval '10 min/year/month/day/hour/sec/ (1 year 1 month 1 day 1 hour 1 min 1 sec)'

2.时间的计算
--使用interval
select now()+interval '2 day'; --2012-05-14 20:05:32.796+08 2天后
select now()-interval '2 day'; --2012-05-10 20:07:23.265+08 2天前
select now()+interval '2 hour'; --2012-05-12 22:06:38.375+08 2小时后

case when left(t5.name,2)='20' then substring(t5.name,9,2) else substring(t5.name,7,2) end GD

截取前1~10位数字 ac17072408

select substring(name,0,11) from profin_application;

name=ac1707240801

select substring(name,0,11) from profin_application;
select  left(name,10) from profin_application;

select t1.name ,timeadd('hour',8,t1.date),t3.name_template ,left(t3.name_template,3) ,substring(t3.name_template,6,3) 号,t4.material  ,t4.cust_spec ,
       t5.name ,case when left(t5.name,2)='20' then substring(t5.name,3,6) else left(t5.name,6) end pp,case when left(t5.name,2)='20' then substring(t5.name,9,2) else substring(t5.name,7,2) end GD ,right(t5.name,3) ,t6.name ,t8.name ,t2.lqty
        from mrp_production_report t1
        left join mrp_production_report_line t2 on t1.id=t2.line_id
        left join product_product t3 on t2.lproduct_id=t3.id
        left join product_template t4 on t3.product_tmpl_id=t4.id
    left join mrp_production_report_lot t5 on t5.id=t2.lot_id
    left join mrp_routing_workcenter t6 on t6.id=t2.lprocedure
        left join res_users t7 on t7.id=t2.lemployee
    left join res_partner t8 on t8.id=t7.partner_id
          where t2.lstate=2 and t6.name='分选' or t6.name='包装' and t1.company_id=4  and t1.date>='${sd} 0:00:00' and t1.date<='${ed} 23:59:59'