将字符串转换为日期时间

问题描述:

嘿家伙 我想从字符串转换日期时间,我有字符串,其中包含'GETDATE'现在我想转换相同的日期时间,在SQL Server中的字符串被定义为varchar(max)将字符串转换为日期时间

请回复我怎样才能将字符串的GETDATE()函数转换为datetieme。

问候 阿巴斯Electricwala

+1

请问您更准确吗? – gbn 2011-02-11 10:23:58

我猜你的意思是你有一个包含文本GetDate()这样的字符串。

declare @S varchar(50) 
set @S = 'getdate()' 

而你想把它变成一个执行getdate()的日期变量。

你可以这样做,因为你知道getdate()的含义。

declare @S varchar(50) 
set @S = 'getdate()' 

declare @D datetime 

set @D = (select 
      case @S when 'getdate()' 
       then getdate() 
       else null 
      end) 

没有意义,这可能比你说的更多。

+0

谢谢你,但有没有什么办法,我可以做到这一点没有这样的选择语句,我的意思是一种线型铸造。 – Abbas 2011-02-11 11:34:48

如果刚日期字符串,你可以做这样的:

SELECT CONVERT(DATETIME, '2009-02-25 15:31:17.888') 

但是... GETDATE()返回一个日期时间值,而不是一个字符串值。只需将GETDATE()结果赋值给变量即可。

样品(可能是inacurate):

 
declare @mydate as datetime 
set @mydate = GETDATE() 
+0

实际上,我从存储过程调用它,存储过程只接受字符串值 – Abbas 2011-02-12 17:49:35