SQL Server插入当前日期问题

ninefive 2012-01-31 12:14:42
INSERT INTO biao1(xm, rq)
SELECT xm, CAST(CONVERT(varchar(10), GETDATE(), 120) AS datetime)+ 8 AS Expr1
FROM biao2
WHERE (czrq = CAST(CONVERT(varchar(10), GETDATE(), 120) AS datetime) + 1)

从biao2里查询出第二天的数据,插入到biao1里面,并且日期加8天
rq为nvarchar类型,存储格式(2011-1-31)
执行上面语句之后,插入的rq值为“02 8 2012 12:00AM”
应该为“2012-2-8”
请问这是怎么回事?
...全文
282 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-01-31
  • 打赏
  • 举报
回复
处理一下时间格式就行了,只需日期不要时间

CONVERT(varchar(10), GETDATE(), 120)
紫竹林畔 2012-01-31
  • 打赏
  • 举报
回复
日期就用日期类型
varchar不是万能的
也不要当成万能的用
叶子 2012-01-31
  • 打赏
  • 举报
回复
你还有个+8

insert into biao1(xm, rq)
select 'xm', convert(varchar(10), getdate()+8, 120)

select xm,rq from biao1
/*
xm rq
---- --------------------
xm 2012-02-08
*/
叶子 2012-01-31
  • 打赏
  • 举报
回复

create table biao1(xm varchar(4),rq varchar(20))

INSERT INTO biao1(xm, rq)

SELECT 'xm', CONVERT(varchar(10), GETDATE(), 120) AS Expr1


插入的时候不要再转换成datetime就可以了

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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