紧急求助下!!关于日期datetime转换的问题!

chllcy 2007-12-09 12:39:51
参考邹建的作业中!
@job_date datetime --存储过程的执行时间(包括时间信息)

@date=convert(varchar,@job_date,112)(获得日期)
@time=replace(convert(varchar,@job_date,108),':','')(获得时间)

但是我用java读入yyyy-MM-dd HH:mm:ss形式的@job_date,它出错,读入其他形式的java.sql.Date也出错,获取不到时间....
不知道怎么读入???希望指点一下....该用什么形式读入!!
...全文
91 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chllcy 2007-12-09
  • 打赏
  • 举报
回复
大佬,加单引号
select CONVERT(varchar,'2007-12-09 11:20:00', 112 )
最后结果不是获得日期,是获得日期与时间.

照邹建那个执行convert(varchar,@job_date,112)(获得日期)
获得的是20071209这个结果
而上面那个获得的是2007-12-09 11:20:00
火星求索 2007-12-09
  • 打赏
  • 举报
回复
字符串加上单引号

print CONVERT(varchar(12),'2007-12-09 11:20:00',112)
chllcy 2007-12-09
  • 打赏
  • 举报
回复
没有啊,你在sql里使用
select CONVERT(varchar(12) , 2007-12-09 11:20:00, 112 ) 查询也出错的
不知道该从java中读入什么形式
火星求索 2007-12-09
  • 打赏
  • 举报
回复
是否是使用java定义的数据类型有问题呢
hui_hui_2007 2007-12-09
  • 打赏
  • 举报
回复

select CONVERT(char(10),'2007-12-09 11:20:00',120)

/*
----------
2007-12-09

(所影响的行数为 1 行)
*/
火星求索 2007-12-09
  • 打赏
  • 举报
回复

--1
--@job_date 如果是时间类型则
declare @job_date datetime
set @job_date = '2007-12-09 11:20:00'
select convert(varchar,@job_date,112)
print replace(convert(varchar,@job_date,108),':','')
--结果是112 类型
--2
--直接给值是字符串类型
select convert(varchar,'2007-12-09 11:20:00',112)
--结果回按字符串处理
--3
--将字符类型转为时间类型,在专为112就会得到你要的结果
select CONVERT(varchar,cast('2007-12-09 11:20:00' as datetime),112)

34,838

社区成员

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

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