我正在尝试将销售日期 >= 的所有数据提取到某个日期时间。当我执行查询时,出现以下错误:
消息 241,级别 16,状态 1,第 15 行
从字符串转换日期和/或时间时转换失败。
我应该改变什么才能让他的查询运行?下面是示例 DDL
Declare @datetime datetime = GetDate(), @sql varchar(max)
Create Table #dinonuggets
(
saledate datetime
,item varchar(500)
)
Insert Into #dinonuggets Values
('2016-03-30 12:02:00.000','chair')
,('2016-03-04 08:12:48.000','stove')
,('2016-03-07 09:37:39.000','washer')
Set @sql = 'Select * FROM #dinonuggets WHERE saledate >= '+@datetime+' '
Print @sql
Exec (@sql)
Run Code Online (Sandbox Code Playgroud)
我的预期输出将是
03/30/2016 12:02:00.000 椅子,
因为这是唯一符合标准的数据
我正在使用 SQL Server 2008,我发现此解决方案仅适用于 SQL Server 2012 - 在 SQL Server 2008 中格式化电话号码的等效方法是什么?
FORMAT([PhoneField],'###-###-####')
Run Code Online (Sandbox Code Playgroud)