求助,字段类型转换

春风老少年 2016-03-17 09:49:56
数据库是SQLSERVER2000,表A里有两个存储时间的字段MyDate和MyTime,都是varchar类型的,格式为“2016-03-17”和“18:13:35”这样,现在直接将这两个字段转换为datetime类型后,字段MyDate里的数据保持原有样式没变,MyTime的数据变成了“1900-01-01 08:13:44”。
请问,怎么操作才能让MyTime由varchar类型转换为DataTime类型,并且原有的数据格式不变,或者用什么样的SQL语句可以实现?谢谢!
...全文
168 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2016-03-18
  • 打赏
  • 举报
回复
首先把日期和时间用字符串分开保存就很奇葩了, 现在终于有团圆的机会却仍分居, 不知道楼主是怎么想的. date 转 datetime 要补充 time 是 00:00:00 time 转 datetime 要补充 date 是 0, 也就是 1900-1-1
zbdzjx 2016-03-18
  • 打赏
  • 举报
回复
SQL SERVER2000中,datetime类型必须要有日期和时间。 “2016-03-17”转成为datetime类型,结果是“2016-03-17 00:00:00”。 “18:13:35”转成为datetime类型,结果是“1900-01-01 08:13:44”。
jmx123456789 2016-03-18
  • 打赏
  • 举报
回复
时间怎么能转换成日期的呢。1900-1-1是必然的。你可以再取值的时候格式化 存储这样没啥问题。
卖水果的net 版主 2016-03-18
  • 打赏
  • 举报
回复
两个 varchar 字段直接相加,也就是拼接在一起就可以了,注意中间加个空格;
春风老少年 2016-03-17
  • 打赏
  • 举报
回复
我就是想转换后MyTime字段里只保留时间数据,不要年月日。而且,我用的是SQLSERVER2K,time和Date是SQLSERVER2K8里才有的新类型吧?
shoppo0505 2016-03-17
  • 打赏
  • 举报
回复
这个不行. Time类型只能记录时间不能记录年月日.如果转换成了 DateTime就会自动加上1900-01-01

34,838

社区成员

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

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