function - "N" before text in sql server -
i have function
create function [dbo].[persiannum] ( @persionstr nvarchar(255) ) returns nvarchar(255) begin declare @out nvarchar(255) -- code return @out end and call : " select dbo.persiannum (n'۰۸/۰۲/۲۰۱۶ ۱۰:۱۳:۵۵') " line worked correctly.
now wanted call in trigger '۰۸/۰۲/۲۰۱۶ ۱۰:۱۳:۵۵' in @myinput
select dbo.persiannum (@myinput) but need " n " before input how put before @myinput
alter function [dbo].[persiannum] ( @persionstr nvarchar(255) ) returns nvarchar(255) --۰۸/۰۲/۲۰۱۶ ۱۰:۱۴:۴۴ ۰۸/۰۲/۲۰۱۶ ۱۰:۱۳:۵۵ begin declare @out nvarchar(255) declare @ss nvarchar(255) declare @persiantemp nvarchar(255) declare @len int set @len = len(@persionstr) set @persiantemp= @persionstr set @out='' while @len>0 begin set @len=@len-1; set @ss = substring(@persiantemp, 1, 1) set @persiantemp=substring(@persiantemp, 2, @len) set @out=@out+ case @ss when n'۰' n'0' when n'۱' n'1' when n'۲' n'2' when n'۳' n'3' when n'۴' n'4' when n'۵' n'5' when n'۶' n'6' when n'۷' n'7' when n'۸' n'8' when n'۹' n'9' else @ss end end return @out end this complete function
the n used cast string nvarchar, once string nvarchar don't need cast again. need define @myinput nvarchar otherwise persian text not encoded correctly.
Comments
Post a Comment