Just nu i M3-nätverket
Jump to content

Hjäp me sql i MS SQL server


buggirl

Recommended Posts

 

create function MyDate(@indate datetime, @separator char(1))

returns nchar(20)

as

begin

return

convert(nvarchar(20), datepart(yyyy, @indate))

+ @separator

declare @manad nvarchar(20)

if (datepart(mm, @indate)between 1 and 6)

begin

set @manad ='0'+ (datepart(mm, @indate))

+ convert(nvarchar(20), @manad)

end

else

begin

set @manad = (datepart(mm, @indate))

+ convert(nvarchar(20), @manad)

end

 

+ @separator

 

declare @dag nvarchar(20)

if (datepart(dd, @indate)between 1 and 6)

begin

set @dag ='0'+ (datepart(dd, @indate))

+ convert(nvarchar(20), @dag)

end

else

begin

set @dag = (datepart(dd, @indate))

+ convert(nvarchar(20), @dag)

end

end

 

Jag får detta felmeddelande:

 

Server: Msg 170, Level 15, State 1, Procedure SvensktDatum2, Line 20

Line 20: Incorrect syntax near '+'.

 

 

bzz, från buggirl!

 

Link to comment
Share on other sites

Får man fråga varför du gör detta i en MSSQL-funktion??? Använder du ingen klient mot databasen?

MSSQLs converts och konkateneringar är inte effektiva.

 

Link to comment
Share on other sites

Jag håller på att lära mig om funktioner i MS SQL Server och då tyckte jag att detta var ett lagom svårt exempel. Jag har löst första halvan nu, att få rätt format på datumen , men jag vill fortfarande att anv ska kunna välja om datumet ska visas som 2003 eller 03

 

 

bzz, från buggirl!

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...