SQL语句不工作-“;操作数类型冲突:浮点与日期';

SQL语句不工作-“;操作数类型冲突:浮点与日期';,sql,stored-procedures,Sql,Stored Procedures,我是这个字段的新手,在执行这个过程时遇到了问题,它给了我一个错误:“操作数类型冲突:浮点与日期不兼容” 通过修改错误,您的问题显而易见。这些值与您的列不匹配。您正在将@check\u date插入列check\u cash\u checkno中,您的问题显而易见。这些值与您的列不匹配。您正在将@check\u date插入列check\u cash\u checkno检查您的插入对账单。您正在将@check\u date插入check\u cash\u checkno列。检查您的插入对账单。您正

我是这个字段的新手,在执行这个过程时遇到了问题,它给了我一个错误:“操作数类型冲突:浮点与日期不兼容”


通过修改错误,您的问题显而易见。这些值与您的列不匹配。您正在将
@check\u date
插入列
check\u cash\u checkno

中,您的问题显而易见。这些值与您的列不匹配。您正在将
@check\u date
插入列
check\u cash\u checkno
检查您的
插入
对账单。您正在将
@check\u date
插入
check\u cash\u checkno
列。

检查您的
插入
对账单。您正在将
@check\u date
插入
check\u cash\u checkno
列。

按照顺序插入值

    insert into  checks
    (
    book_id,
    check_amount,
    check_cash_checkno,
    check_cash_type,
    check_date,
    check_funder_name,
    check_no,
    check_notes,
    check_status,
    check_userid,
    insertion_userid,
    insertiondate
    )
    values
    (
    @book_id,
    @check_amount,
    @check_cash_checkno,
    @check_cash_type,
    @check_date,
    @check_funder_name,
    @check_no,
    @check_notes,
    @check_status,
    @check_userid,
    @insertion_userid,
    @insertiondate
    )
重现错误的简单示例:

create table test
(
sdate date,
roll nvarchar(50)
)
insert into test(sdate,roll) values(1,'2008-2-2') --false

insert into test(sdate,roll) values('2008-2-2',1) --true

按照顺序插入值

    insert into  checks
    (
    book_id,
    check_amount,
    check_cash_checkno,
    check_cash_type,
    check_date,
    check_funder_name,
    check_no,
    check_notes,
    check_status,
    check_userid,
    insertion_userid,
    insertiondate
    )
    values
    (
    @book_id,
    @check_amount,
    @check_cash_checkno,
    @check_cash_type,
    @check_date,
    @check_funder_name,
    @check_no,
    @check_notes,
    @check_status,
    @check_userid,
    @insertion_userid,
    @insertiondate
    )
重现错误的简单示例:

create table test
(
sdate date,
roll nvarchar(50)
)
insert into test(sdate,roll) values(1,'2008-2-2') --false

insert into test(sdate,roll) values('2008-2-2',1) --true

仅从列和变量名来看,您提供参数的顺序似乎有相当大的不匹配:

insert into  checks (
book_id,check_amount,check_cash_checkno,check_cash_type,check_date,check_funder_name,
check_no,check_notes,check_status,check_userid,insertion_userid,insertiondate)
values (
@book_id,@check_no,@check_date,@check_status,@check_amount,@check_funder_name,
@check_cash_type,@check_cash_checkno,@check_notes,@check_userid,@insertion_userid,@insertiondate)
例如,
@check\u date
check\u cash\u checkno
列对齐,
@check\u notes
check\u status
对齐,等等

我想应该改写为:

insert into  checks (
book_id,check_amount,check_cash_checkno,check_cash_type,check_date,check_funder_name,
check_no,check_notes,check_status,check_userid,insertion_userid,insertiondate)
values (
@book_id,@check_amount,@check_cash_checkno,@check_cash_type,@check_date,@check_funder_name,
@check_no,@check_notes,@check_status,@check_userid,@insertion_userid,@insertiondate)

这是一个不幸的地方,SQL没有达到我们应该引用列(属性)的关系理想按名称而不是按顺序位置-您必须在
values
子句中提供与您为
INSERT
语句的列指定的顺序相匹配的参数或值。

仅按列和变量名称,您提供参数的顺序似乎有相当大的不匹配:

insert into  checks (
book_id,check_amount,check_cash_checkno,check_cash_type,check_date,check_funder_name,
check_no,check_notes,check_status,check_userid,insertion_userid,insertiondate)
values (
@book_id,@check_no,@check_date,@check_status,@check_amount,@check_funder_name,
@check_cash_type,@check_cash_checkno,@check_notes,@check_userid,@insertion_userid,@insertiondate)
INSERT INTO 
checks (book_id,check_amount,check_cash_checkno,check_cash_type,check_date,check_funder_name,check_no,check_notes,check_status,check_userid,insertion_userid,insertiondate)
VALUES    
(@book_id,@check_amount,@check_cash_checkno,@check_cash_type,@check_date,@check_funder_name,@check_no,@check_notes,@check_status,@check_userid,@insertion_userid,@insertiondate)
例如,
@check\u date
check\u cash\u checkno
列对齐,
@check\u notes
check\u status
对齐,等等

我想应该改写为:

insert into  checks (
book_id,check_amount,check_cash_checkno,check_cash_type,check_date,check_funder_name,
check_no,check_notes,check_status,check_userid,insertion_userid,insertiondate)
values (
@book_id,@check_amount,@check_cash_checkno,@check_cash_type,@check_date,@check_funder_name,
@check_no,@check_notes,@check_status,@check_userid,@insertion_userid,@insertiondate)
这是一个不幸的地方,SQL没有达到我们应该引用列(属性)的关系理想按名称而不是顺序位置-您必须按照与您为
INSERT
语句的列指定的顺序相匹配的顺序提供
values
子句中的参数或值

INSERT INTO 
checks (book_id,check_amount,check_cash_checkno,check_cash_type,check_date,check_funder_name,check_no,check_notes,check_status,check_userid,insertion_userid,insertiondate)
VALUES    
(@book_id,@check_amount,@check_cash_checkno,@check_cash_type,@check_date,@check_funder_name,@check_no,@check_notes,@check_status,@check_userid,@insertion_userid,@insertiondate)
许多插入的值与选定的列顺序不匹配


许多插入的值与所选列顺序不匹配。

您使用的是哪种DBMS?您使用的是哪种DBMS?