从字符串向 datetime 转换时失败

chenxin2835 2008-04-02 03:59:01
虽知解决办法,就是不解为何报错,简化后的测试代码如下
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)
...全文
462 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
laowan688 2008-04-02
  • 打赏
  • 举报
回复
convert(varchar(10),@sStartDate,120)
青锋-SS 2008-04-02
  • 打赏
  • 举报
回复
declare 
@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 行受影响)

青锋-SS 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 chenxin2835 的帖子:]
虽知解决办法,就是不解为何报错,简化后的测试代码如下
SQL codeifobject_id('tb')isnotnulldroptabletbCreateTabletb(时间datetime)declare@sStartDatedatetime,@sqlNvarchar(200)set@sStartDate='1900-01-10'Set@sql=''''+@sStartDate+''''exec(@sql)
[/Quote]不明白楼主的意思
chenxin2835 2008-04-02
  • 打赏
  • 举报
回复
了解了,汗,马上结掉,免得被骂BC
jinjazz 2008-04-02
  • 打赏
  • 举报
回复
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=''''+convert(varchar(10),@sStartDate,120)+''''

select (@sql)
-狙击手- 2008-04-02
  • 打赏
  • 举报
回复
注意:

使用 datetime 数据类型存储从 1753 年 1 月 1 日至 9999 年 12 月 31 日的日期(每个数值要求 8 个字节的存储空间)。
使用 smalldatetime 数据类型存储从 1900 年 1 月 1 日至 2079 年 6 月 6 日的日期(每个数值要求 4 个字节的存储空间)。

iamltd 2008-04-02
  • 打赏
  • 举报
回复
你查一下SQL设置的千年范围,1900年SQL不认识
liangCK 2008-04-02
  • 打赏
  • 举报
回复
每人10分
liangCK 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 happyflystone 的回复:]
字符+ 日期 + 字符

你认为能成功吗
[/Quote]
-狙击手- 2008-04-02
  • 打赏
  • 举报
回复
字符+ 日期 + 字符

你认为能成功吗
-狙击手- 2008-04-02
  • 打赏
  • 举报
回复

declare
@sStartDate datetime,
@sql Nvarchar(200)
set @sStartDate='1900-01-10'

Set @sql='select '''+convert(char(10),@sStartDate,120)+''''

exec(@sql)

/*

----------
1900-01-10
*/
-狙击手- 2008-04-02
  • 打赏
  • 举报
回复
Set @sql=''''+convert(char(10),@sStartDate,120)+''''
liangCK 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chenxin2835 的回复:]
小梁,在不?
[/Quote]
在..谢谢给分..结了吧.
liangCK 2008-04-02
  • 打赏
  • 举报
回复
Set @sql=''''+@sStartDate+''''

这个有什么用?
chenxin2835 2008-04-02
  • 打赏
  • 举报
回复
小梁,在不?

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧