sql 语句如下:
INSERT INTO TABLEA("AID", "BID", "COLUMNA", "SSQS", "SSQZ") SELECT 1, "XXID", '010000', CAST(39415 as datetime), CAST(39445 as datetime) FROM TABLEBAID,BID为整数类型
COLUMNA为文本
SSQS,SSQZ为日期型另外尝试过一下SQL,均报同样错误
INSERT INTO TABLEA("AID", "BID", "COLUMNA", "SSQS", "SSQZ") SELECT 1, "XXID", '010000', CONVERT(datetime, '2007-12-01T00:00:00', 126), CONVERT(datetime, '2007-12-31T00:00:00', 126) FROM TABLEBINSERT INTO TABLEA("AID", "BID", "COLUMNA", "SSQS", "SSQZ") SELECT 1, "XXID", '010000', CONVERT(datetime, '20071201', 112), CONVERT(datetime, '20071231', 112) FROM TABLEBINSERT INTO TABLEA("AID", "BID", "COLUMNA", "SSQS", "SSQZ") SELECT 1, "XXID", '010000', @SSQS, @SSQZ FROM TABLEB
AddInParameter.....

解决方案 »

  1.   

    select CAST(39415   as   datetime),   CAST(39445   as   datetime) /*
    ----------------------- -----------------------
    2007-12-01 00:00:00.000 2007-12-31 00:00:00.000(1 row(s) affected)
    */
      

  2.   

    select dt1=CAST(39415   as   datetime)
    ,dt2=CONVERT(datetime,   '20071201',   112)
    ,dt3=CONVERT(datetime,   '2007-12-01T00:00:00',   126) /*
    dt1                     dt2                     dt3
    ----------------------- ----------------------- -----------------------
    2007-12-01 00:00:00.000 2007-12-01 00:00:00.000 2007-12-01 00:00:00.000(1 row(s) affected)
    */
      

  3.   


    create table #TABLEA
    (
        AID int,
        BID int,
        COLUMNA varchar(20),
        SSQS datetime,
        SSQZ datetime   
    )
    INSERT   INTO   #TABLEA("AID",   "BID",   "COLUMNA",   "SSQS",   "SSQZ")   
    SELECT   1,   3,   '010000',   CAST(39415   as   datetime),   CAST(39445   as   datetime)
    go
    INSERT   INTO   #TABLEA("AID",   "BID",   "COLUMNA",   "SSQS",   "SSQZ")
    SELECT   1,   1,   '010000',   CONVERT(datetime,   '2007-12-01T00:00:00',   126),   CONVERT(datetime,   '2007-12-31T00:00:00',   126)
    go
    INSERT   INTO   #TABLEA("AID",   "BID",   "COLUMNA",   "SSQS",   "SSQZ")   
    SELECT   1,   2,   '010000',   CONVERT(datetime,   '20071201',   112),   CONVERT(datetime,   '20071231',   112) 
    go
    select * from #TABLEA
    drop table #TABLEA
    --------------------------(所影响的行数为 1 行)
    (所影响的行数为 1 行)
    (所影响的行数为 1 行)
    (所影响的行数为 3 行)
    AID    BID     COLUMNA     SSQS                       SSQZ
    1       3 010000 2007-12-01 00:00:00.000 2007-12-31 00:00:00.000
    1 1 010000 2007-12-01 00:00:00.000 2007-12-31 00:00:00.000
    1 2 010000 2007-12-01 00:00:00.000 2007-12-31 00:00:00.000
      

  4.   

    列名不需要加"",字符前后加''
    INSERT   INTO   TABLEA(AID,   BID,   COLUMNA,   SSQS,   SSQZ)   SELECT   1,   'XXID',   '010000',   CAST(39415   as   datetime),   CAST(39445   as   datetime)   FROM   TABLEB 
      

  5.   

    INSERT   INTO   TABLEA(AID,   BID,   COLUMNA,   SSQS,   SSQZ)   
    SELECT   1,   'XXID',   '010000',   CAST(39415   as   datetime),   CAST(39445   as   datetime)   FROM   TABLEB 
      

  6.   

    列名加""是可以的,功能同[].SQL报的错不一定是准确的.我估计错误的原因在于:
    INSERT   INTO   TABLEA("AID",   "BID",   "COLUMNA",   "SSQS",   "SSQZ")   SELECT   1,   "XXID",   '010000',   CAST(39415   as   datetime),   CAST(39445   as   datetime)   FROM   TABLEB tableA.bid 是int型
    tableB.xxid 是否为int?
      

  7.   

    谢谢,找到问题了,跟SQL语句没关系,创建表的SQL有问题
    create table xxx(
    ....
    "XXRQ" datetime default '0' null,
    ....)