虽知解决办法,就是不解为何报错,简化后的测试代码如下
if object_id('tb') is not null
drop table tb
Create Table tb(时间 datetime)
declare
@sStartDate datetime,
@sql Nvarchar(200)
set @sStartDate='1900-01-10'Set @sql=''''+@sStartDate+''''exec(@sql)
if object_id('tb') is not null
drop table tb
Create Table tb(时间 datetime)
declare
@sStartDate datetime,
@sql Nvarchar(200)
set @sStartDate='1900-01-10'Set @sql=''''+@sStartDate+''''exec(@sql)
declare
@sStartDate datetime,
@sql Nvarchar(200)
set @sStartDate='1900-01-10'Set @sql='select '''+convert(char(10),@sStartDate,120)+''''exec(@sql)/*
----------
1900-01-10
*/
使用 smalldatetime 数据类型存储从 1900 年 1 月 1 日至 2079 年 6 月 6 日的日期(每个数值要求 4 个字节的存储空间)。
drop table tb
Create Table tb(时间 datetime)
declare
@sStartDate datetime,
@sql Nvarchar(200)
set @sStartDate='1900-01-10'Set @sql=''''+convert(varchar(10),@sStartDate,120)+''''select (@sql)
@sStartDate datetime,
@sql Nvarchar(200)
set @sStartDate='1900-01-10'
Set @sql='select '''+convert(char(20),@sStartDate,120)+''''
exec(@sql)--------------------
1900-01-10 00:00:00 (1 行受影响)