由于某些原因我无法转换为varchar
Declare @sql varchar(100)
Declare @ddtime datetime
set @ddtime = '2012-02-03 22:14:50.057'
set @sql = 'select * from table1 where tdate='+@ddtime
exec(@sql)
,在存储过程中运行以下sql时出现转换错误 最佳答案
您需要将@ddtime
转换为varchar
,因为您将其包含在字符串中:
Declare @sql varchar(100)
Declare @ddtime datetime
set @ddtime = '2012-02-03 22:14:50.057'
set @sql = 'select * from table1 where tdate= '''+ convert(nvarchar(25), @ddtime, 121) + ''''
exec(@sql)
或者只是将
@ddtime
作为varchar
而不是datetime
。Declare @ddtime varchar(25)
convert(varchar(25), @ddtime, 121)
将您的日期保留为最初设置时的格式。How to format datetime & date in Sql Server