当前位置:首页 > 技术问答集
firefox

为什么我电脑的第一个盘是C盘,而不是A盘

 所属目录:asp.net   |   类型:技术问答   |   时间:2007-05-12
 问题:

我的sql如下:  
  insert   into   b   (gcode,odate,gdata1)  
  select   100,right(left([1],len([1])-1),len([1])-2,[2]  
  from   fengsir  
   
  在b表里,我的odate是datetime型的,而我通过right()函数完成是varchar型的,在我从fensir表里面向b表里导入的时候,总是提示如下错误:  
  从字符串转换为   datetime   时发生语法错误。  
   
  现在我把sql改成如下:(用convert转化了)  
   
  insert   into   b   (gcode,odate,gdata1)  
  select   100,convert(datetime,right(left([1],len([1])-1),len([1])-2)),[2]  
  from   fengsir  
   
  依然提示我如下错误:  
  从字符串转换为   datetime   时发生语法错误。  
   
  当我把sql改成如下  
  insert   into   b   (gcode,odate,gdata1)  
  select   100,2003-09-15   00:00:00   as   datetime,[2]  
  from   fengsir  
  即直接把一个时间字符串写在sql里,这样就可以转换了!  
   
   
  但是写成这个样子的时候却不行!:  
  insert   into   b   (gcode,odate,gdata1)  
  select   100,right(left([1],len([1])-1),len([1])-2)   as   datetime,[2]  
  from   fengsir  
   
  为什么?????我是想把一个表里的数据转换到另一个表中,想用sql转换,因为字段类型的不同就是转换不了,目前就是因为时间字段不能转换!  
  who能告诉一下啊!  
   
 

· 网友精彩回答:

发表者:iwl()

right(left([1],len([1])-1),len([1])-2)     这个什么意思   不懂

发表者:wangtiecheng(不知不为过,不学就是错!)

[1]应该是个字段名

发表者:iwl()

这个应该用isdate   确定输入表达式是否为有效的日期   ,如果是的话肯定可以转换   建议试试看  
 

发表者:ping3000(苦练葵花点穴手)

可能是你的varchar转换成日期时格式不对,如果是060323,20060323   是对的,如果是2006323这种就是错的

发表者:flyeq008()

varchar转换为datetime时,加个datetime格式参数,应该就可以了  
  如:convert(datetime,varchar,101)

发表者:flyeq008()

varchar转换成日期型,首先要保证varchar是合法的日期格式数据。。

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved