1.XH2015000001 XH2015000002。。。。。(字母+年份+自增长)
先定义标量值函数
create Function F_GetId()
returns nvarchar(50)AS
Begin
Declare @S nvarchar(50)
Select @S= 'XH'+CONVERT(varchar,YEAR(getdate()))+Right(1000000+IsNull(Right(Max(StudentGuid),6),0)+1,6) From StudentInfo
return @S
End
Go
再创建表:
CREATE TABLE StudentInfo(
StudentGuid nvarchar(50) NOT NULL Default dbo.F_GetId(),
StudentName varchar(20) NOT NULL,
Constraint PK_Student_ID Primary key(StudentGuid)
)
GO
测试:
Insert StudentInfo(StudentName ) values('aa')
Insert StudentInfo(StudentName ) values( 'bb')
Select * From StudentInfo
.获得XH20150418000001 XH20150418000002。。。。。(字母+年份日月+自增长)
a.创建标量值函数
create Function F_GetCustomerGuid()
returns nvarchar(50)
AS
Begin
Declare @S nvarchar(50)
Select @S= 'XH'+CONVERT(varchar,getdate(),112)+Right(1000000+IsNull(Right(Max(CustomerID),6),0)+1,6) From Customer
return @S
End
Go
b.创建表
CREATE TABLE Customer(
CustomerID nvarchar(50) NOT NULL Default dbo.F_GetCustomerGuid(),
CustomerName varchar(20) NOT NULL,
Constraint PK_Custr_ID Primary key(CustomerID)
)
GO
c.测试:
Insert Customer(CustomerName ) values('aa')
Insert Customer(CustomerName ) values( 'bb')
Insert Customer(CustomerName ) values( 'cc' )
Select * From Customer
下附带一些SQLServer时间格式:
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM