CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

字符型转换日期型的问题

楼主seethe(匆匆勿)2006-03-02 12:47:33 在 MS-SQL Server / 基础类 提问

表tem_table有一个字段strDate是字符型,里面记录的是日期内容,内容格式如下:  
  106001   -   if   date   is   2006-01-01  
  106002   -   if   date   is   2006-01-02  
  ...  
   
  106031   -   if   date   is   2006-01-31  
  106032   -   if   date   is   2006-02-01  
     
  ....  
  106364   -   if   date   is   2006-12-30  
  106365   -   if   date   is   2006-12-31  
     
     
  ...  
     
  107001   -   if   date   is   2007-01-01  
  107002   -   if   date   is   2007-01-02  
     
  ...  
   
  107031   -   if   date   is   2007-01-31  
  107032   -   if   date   is   2007-02-01  
   
  我现在想在显示时直接显示为正常的日期形式,该怎么做呀? 问题点数:20、回复次数:6Top

1 楼mislrb(上班看看早报,上上CSDN,下班看看电影)回复于 2006-03-02 12:53:27 得分 0

select   convert(datetime,right(strdate,10),120)   from   yourtableTop

2 楼zl_c(闲杂人等)回复于 2006-03-02 14:07:51 得分 0

字符串型:格式2006-3-1  
  convert(varchar(10),dateadd(dd,DATEPART(dy,getdate()),cast('20'+substring(datestr,2,2)+'-1-1'   as   datetime)),020)  
   
  日期型:2006-2-1   00:00:00  
  dateadd(dd,DATEPART(dy,getdate()),cast('20'+substring(datestr,2,2)+'-1-1'   as   datetime))Top

3 楼seethe(匆匆勿)回复于 2006-03-02 14:29:21 得分 0

DATEADD([day],   CAST(RIGHT(strDate,   3)   AS   int)   -   1,   CAST('20'   +   LEFT(RIGHT(strDate,   LEN(strDate)   -   1),   2)   AS   Datetime))  
   
  上面是我写的,并且是正确的显示为2006-2-1  
  我是想知道有别的简单的方法没有了Top

4 楼share1011(不知道)回复于 2006-03-02 16:05:16 得分 0

 
  create   table   #t1(  
  a   datetime,  
  b   char(6)  
  )  
   
  declare   @StartTime   as   datetime  
  declare   @strDate     as   char(6)  
  set   @StartTime='2006-1-1'  
  set   @strDate   ='106001'  
  while   @StartTime<='2007-12-31'  
  begin  
    insert   into   #t1   values(@StartTime,@strDate)    
    set   @StartTime=Dateadd(day,1,@StartTime)  
  set   @strDate=@strDate+1  
  end  
   
  select   *   from   #t1  
  这个是测试过的,直接执行,应该很快可以达到你要修改的目的的Top

5 楼share1011(不知道)回复于 2006-03-02 16:06:29 得分 0

然后你可以根据#t1和你的tem_table   通过字段b和strDate关联进行修改Top

6 楼yangyangxie(想飞的鱼)回复于 2006-03-02 17:05:26 得分 0

我也碰到过这种情况,因为原始数据在EXCEL表里的格式问题,设置一下它的格式为日期类型再导进去应该可以解决一部分,不过可以用JAVA导进去Top

相关问题

  • 字符类型到日期型转换
  • 字符型 到日期 转换 救急
  • 日期转换字符呦!!
  • 如何转换字符型与时间型,日期型
  • 字符型变量与日期型变量的转换问题?
  • javascript字符型转换成日期型的函数是什么?
  • 字符串类型转换为日期类型?
  • 求助:怎么把字符型转换成日期型啊?
  • 如何将日期型数据转换为字符型?
  • VB如何把字符串转换为日期类型?急啊!!!

关键词

  • date
  • strdate
  • 日期
  • starttime
  • dateadd
  • datetime
  • cast
  • 显示
  • right
  • if date

得分解答快速导航

  • 帖主:seethe

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo