MySql Toad if now行返回值

MySql Toad if now行返回值,mysql,toad,coalesce,ifnull,Mysql,Toad,Coalesce,Ifnull,我使用的是mysql toad,我有一个空表,我试图返回一个字符串值,如果没有找到任何记录,我尝试了下面提到的查询,但是没有任何效果,只返回一个空行 查询 select coalesce(stDate,'0')as StDate from tblStudents where studentNumber = 12213123; select IFNULL(stDate,'0')as StDate from tblStudents where studentNumber = 12213123;

我使用的是mysql toad,我有一个空表,我试图返回一个字符串值,如果没有找到任何记录,我尝试了下面提到的查询,但是没有任何效果,只返回一个空行

查询

select coalesce(stDate,'0')as StDate from tblStudents where studentNumber = 12213123;

select IFNULL(stDate,'0')as StDate from tblStudents where studentNumber = 12213123;
结果只是空字符串,列stDate的类型为varchar。

试试这个

 select Cast(count(*) as char(10)) as StDate
 from tblStudents where studentNumber = 12213123;
您还可以使用CASE语句,如果学生编号是唯一的,则max()或min()函数将从表中获取stDate

 select Cast(count(*) as char(10)) as NumRows,max(stDate) as stDate
 from tblStudents where studentNumber = 12213123;
如果您只需要一个字段,请尝试以下操作

select 
CASE count(*)
    WHEN 0 THEN ''
    ELSE CAST(max(stDate) as char(12))
END CASE as StartDate
     from tblStudents where studentNumber = 12213123;

如果有记录,我想返回stdate我只想要一个返回一个值而不是两个值的select如果没有日期,我会得到一个计数为零,如果有数据,我会得到一个计数为1,一个日期不是我想要的。如果计数大于0,我会尝试case语句,然后选择一个日期