f******y 发帖数: 2971 | 1 新手想问一个store proc的问题。这个stored proc是这样的:
DELIMITER $$
CREATE DEFINER=`finalguy`@`inspiron` PROCEDURE `HolidaySelect`(HolidayDate
DATETIME)
begin
select HolidayDate, MicroHedgeIdentifier
from Holiday
where HolidayDate = @HolidayDate or @HolidayDate is null;
end $$
DELIMITER ;
我是这样调用的:
call HolidaySelect(null);
返回值是这样的:
null 1
null 2
null 3
...
所有的这些null都应该是日期的。大家能看出来错在哪儿吗?
谢谢。 |
a9 发帖数: 21638 | 2 or @HolidayDate is null
【在 f******y 的大作中提到】 : 新手想问一个store proc的问题。这个stored proc是这样的: : DELIMITER $$ : CREATE DEFINER=`finalguy`@`inspiron` PROCEDURE `HolidaySelect`(HolidayDate : DATETIME) : begin : select HolidayDate, MicroHedgeIdentifier : from Holiday : where HolidayDate = @HolidayDate or @HolidayDate is null; : end $$ : DELIMITER ;
|
B*****g 发帖数: 34098 | 3 zkss
【在 a9 的大作中提到】 : or @HolidayDate is null
|
a9 发帖数: 21638 | 4 看错了。。。
【在 B*****g 的大作中提到】 : zkss
|
a9 发帖数: 21638 | 5 这null一传进去,不就变成
HolidayDate = null or null is null;
了嘛。楼主想干啥?
【在 a9 的大作中提到】 : 看错了。。。
|
B*****g 发帖数: 34098 | 6 咱没事老用,传入NULL,返回全部
【在 a9 的大作中提到】 : 这null一传进去,不就变成 : HolidayDate = null or null is null; : 了嘛。楼主想干啥?
|
a*********8 发帖数: 9 | 7 How about try renaming the parameter:
HolidaySelect (HolidayDate datetime)
to
HolidaySelect (HD datetime)?
I know this sounds stupid, but it won't hurt to try
【在 f******y 的大作中提到】 : 新手想问一个store proc的问题。这个stored proc是这样的: : DELIMITER $$ : CREATE DEFINER=`finalguy`@`inspiron` PROCEDURE `HolidaySelect`(HolidayDate : DATETIME) : begin : select HolidayDate, MicroHedgeIdentifier : from Holiday : where HolidayDate = @HolidayDate or @HolidayDate is null; : end $$ : DELIMITER ;
|
f******y 发帖数: 2971 | 8 use Instrument;
delimiter //
create procedure HolidaySelect(h DATETIME)
begin
select `HolidayDate`, `MicroHedgeIdentifier`
from `Holiday`
where (`HolidayDate` = h or h is null);
end //
delimiter ;
这样就好了。
【在 f******y 的大作中提到】 : 新手想问一个store proc的问题。这个stored proc是这样的: : DELIMITER $$ : CREATE DEFINER=`finalguy`@`inspiron` PROCEDURE `HolidaySelect`(HolidayDate : DATETIME) : begin : select HolidayDate, MicroHedgeIdentifier : from Holiday : where HolidayDate = @HolidayDate or @HolidayDate is null; : end $$ : DELIMITER ;
|