SQLSERVER2000使用中遇到的一些小问题,不断更新中。。。

1、2006-06-30

       保证一个字段唯一要使用UNIQUE索引,而不要使用联合主键(听起来很可笑,但今天差点犯这样的错误)

       查询一张表里重复记录的语句:select  字段 from 表 group by 字段 having count(*)>1

2、2006-07-18

       关于合成字段的一个例子(转贴):

问题:

原记录:
ID  日期           时间
1 2006-03-01 07:52
1 2006-03-0119:35
1 2006-03-02 07:52
1 2006-03-02 20:17

最终的结果

1 2006-03-01 07:52,19:35
1 2006-03-0207:52,20:17

解答:

--建立測試環境
Create Table TEST
(IDInt,
 日期Varchar(10),
 时间Varchar(5))
Insert TEST Select 1, '2006-03-01', '07:52'
Union All Select 1, '2006-03-01','19:35'
Union All Select 1, '2006-03-02', '07:52'
Union All Select 1, '2006-03-02', '20:17'
GO
--建立函數
Create Function GetTime(@ID Int,@Date Varchar(10))
Returns Varchar(1000)
As
Begin
Declare @S Varchar(1000)
Set @S=''
Select @S=@S+时间+',' From TEST Where ID=@ID And 日期=@Date Order By ID,日期
Return(Left(@S,Len(@S)-1))
End
GO
--測試
Select
ID,
日期,
dbo.GetTime(ID,日期) As 时间
From TEST
Group By ID,日期
Order By ID,日期
GO
--刪除測試環境
Drop Table TEST
Drop Function GetTime
GO
--結果
/*
ID日期时间
12006-03-0107:52,19:35
12006-03-0207:52,20:17
*/

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值