SQL流水号生成语句
table
Num createDate
---------------------------------
(空) 20090901
(空) 20090901
(空) 20090902
(空) 20090902
(空) 20090903
(空) 20090903
---------------------------------
现在要通过createDate来产生一个流水号(4位) 按当天来生成 换天要重新生成
即得到结果如下:
table
Num createDate
---------------------------------
200909010001 20090901
200909010002 20090901
200909020001 20090902
200909020002 20090902
200909030001 20090903
200909030002 20090903
---------------------------------
create table tb(id int , Num varchar(12),createDate varchar(8))
insert into tb values(1,'','20090901')
insert into tb values(2,'','20090901')
insert into tb values(3,'','20090902')
insert into tb values(4,'','20090902')
insert into tb values(5,'','20090903')
insert into tb values(6,'','20090903')
go
update tb set num = createDate + right('000'+cast((select count(1) from tb where createDate = t.createDate and id < t.id) + 1 as varchar),4) from tb t
select * from tb
drop table tb
/*
id Num createDate
----------- ------------ ----------
1 200909010001 2009
相关文档:
在做“都市家园”优化时,具体是用户注册时,提交信息,本来Birthday是没有写入值的,此字段也没有默认值,可数据库中却为“1905/3/14 0:00:00”,郁闷至极,上google&baidu也是没有解决的方案。
只能这样原始的解决:
Register 存储过程
insert into UserInfo(UserID,sex) ......
从 sql server 2000 中提取字段说明文字
SELECT
[Table Name] = i_s.TABLE_NAME,
[Column Name] = i_s.COLUMN_NAME,
[Description] = s.value
from
INFORMATION_SCHEMA.COLUMNS i_s
LEFT OUTER JOIN ......
在SQL Server Management Studio中连接到SQL Server实例后,会显示“SQL Server 代理”节点。如果当前该实例的Agent服务没有启动,“SQL Server 代理”后边就会显示“(已禁用代理 XP)”。“已禁用代理”从字面上不难理解,后边的“XP”有点让人费解了,这个服务跟Windo ......
and exists (select * from sysobjects) //判断是否是MSSQL and exists(select * from tableName) //判断某表是否存在..tableName为表名 and 1=(select @@VERSION) //MSSQL版本 And 1=(select db_name()) //当前数据库名 and 1=(select @@servername) //本地服务名 and 1=(select IS_SRVROLEMEMBER('sysadmin')) ......
第二十题:
怎么样抽取重复记录
表:
id name
--------
1 test1
2 test2
3 test3
4 test4
5 test5
6 test6
2 test2
3 test3
2 test2
6 test6
查出所有有重复记录的数据,用一句sql 来实现
create table D(
id varchar (20),
name varchar (20)
)
insert into D values('1','test1')
insert into D val ......