आप चर आप का निरीक्षण करना चाहते लौटने की कोशिश कर सकते हैं। ईजी।
--Contencates seperate date and time strings and converts to a datetime. Date should be in format 25.03.2012. Time as 9:18:25.
ALTER FUNCTION [dbo].[ufn_GetDateTime] (@date nvarchar(11), @time nvarchar(11))
RETURNS datetime
AS
BEGIN
--select dbo.ufn_GetDateTime('25.03.2012.', '9:18:25')
declare @datetime datetime
declare @day_part nvarchar(3)
declare @month_part nvarchar(3)
declare @year_part nvarchar(5)
declare @point_ix int
set @point_ix = charindex('.', @date)
set @day_part = substring(@date, 0, @point_ix)
set @date = substring(@date, @point_ix, len(@date) - @point_ix)
set @point_ix = charindex('.', @date)
set @month_part = substring(@date, 0, @point_ix)
set @date = substring(@date, @point_ix, len(@date) - @point_ix)
set @point_ix = charindex('.', @date)
set @year_part = substring(@date, 0, @point_ix)
set @datetime = @month_part + @day_part + @year_part + ' ' + @time
return @datetime
END
जब मैं इसे चलाने .. मैं: संदेश 241, स्तर 16, राज्य 1, पंक्ति 1 रूपांतरण विफल जब चरित्र स्ट्रिंग से तिथि और/या समय परिवर्तित मैं इस समारोह की है।
अरघ !!
तो, मैं क्या करूँ?
ALTER FUNCTION [dbo].[ufn_GetDateTime] (@date nvarchar(11), @time nvarchar(11))
RETURNS nvarchar(22)
AS
BEGIN
--select dbo.ufn_GetDateTime('25.03.2012.', '9:18:25')
declare @day_part nvarchar(3)
declare @point_ix int
set @point_ix = charindex('.', @date)
set @day_part = substring(@date, 0, @point_ix)
return @day_part
END
और मुझे '25' मिलता है। तो, मैं एक से दूर हूं और इसलिए मैं बदलता हूं ..
set @day_part = substring(@date, 0, @point_ix + 1)
वोला! अब यह काम करता है :)
स्रोत
2012-11-09 11:23:47
, देखें: http://stackoverflow.com/a/10721985/65223 –