常用sql语句整理

--获得指定格式的时间
SELECT DATE_FORMAT(NOW(), '%Y%m%d%H%I%S');
--获得随机数
SELECT round(round(rand(),4)*10000);

--字符串拼接
select CONCAT(CONCAT(a.big_type,a.type,a.code),DATE_FORMAT(NOW(), '%Y%m%d%H%I%S'),round(round(rand(),4)*10000)) from sc_chshbjlb a

--更新
update sc_bjgl b set b.citypartcode= (select CONCAT(CONCAT('#{type_code}','#{citypart_apl}'),DATE_FORMAT(NOW(), '%Y%m%d%H%I%S'),round(round(rand(),4)*10000)))
where b.id='#{id}';
--更新
update sc_chshbjlb set type = (case type when 'p' then 'point'
                                when 'l' then 'line'
                                 when 'a' then 'polygon'
                                 else '' END);

--修改字段的长度

ALTER TABLE "public"."tsac_orderinfo"
ALTER COLUMN "remark" TYPE varchar(1000);

 

--创建id自增的表:

drop table `sc_incrementtab`;
CREATE TABLE `sc_incrementtab` (
  `in_id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`in_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

其中,AUTO_INCREMENT为初始值,目前为 1。

每次往自增表中插入数据时,用如下方式插入:

insert into sc_incrementtabvalues(null);,值设为null。

数据库会自动+1的。

 

 -- 左补齐,右补齐

lpad(obligatea,6,'0')

rpad(obligatea,6,'0')

 

--查找重复数据

select xm,count(xm) from sc_rkjbxxnew where 1=1 group by xm having count(xm) >1;

select xm,count(xm)

from sc_rkjbxxnew

where xm in (select xm from sc_rkjbxxnew group by xm having count(xm) >= 2)

GROUP BY xm;

 

 --根据查询结果,更新数据表的数据字段

update t_apprecord a set datetime = (select '2017-04-19'||substr(to_char(b.datetime),-9) 

from t_apprecord b where b.datetime < '1990-01-01 08:00:37' 

and a.prjid=b.prjid

and a.userid=b.userid

and a.signtag= b.signtag

and a.lat=b.lat

and a.lon=b.lon

and a.datetime=b.datetime)

where a.datetime < '1990-01-01 08:00:37';

 

 

 

猜你喜欢

转载自jiage17.iteye.com/blog/2208853