2010-10-10 66 views
1
SELECT Trainer.id AS idTrainer, surname, lastname, name, 
if(month = '', 'NO',month) as monthT, quarter, halfyear, year, id_Person, photo 
FROM Trainer, Person 
WHERE Trainer.id_Person = Person.id 

在phpMyAdmin回报良好或“否”或月如何将byte []转换为varchar?

在C#if(month = '', 'NO',month) as monthT返回byte[],但我需要回到NO如果一个月为空,否则返回month

我的C#代码如下所示:

string sql = @" SELECT Trainer.id AS idTrainer, surname, lastname, name, if(month = '', 'NO',month) as monthT, quarter, halfyear, year, id_Person, photo 
       FROM Trainer, Person 
       WHERE Trainer.id_Person = Person.id"; 
using (MySqlConnection connection = ConnectToDataBase.GetConnection()) 
{ 
    MySqlCommand command = new MySqlCommand(sql, connection); 
    MySqlDataAdapter adapter = new MySqlDataAdapter(); 

    connection.Open(); 
    adapter.SelectCommand = command; 
} 
+0

,问题是......? – CesarGon 2010-10-10 14:21:02

+0

你的问题很难理解。你可以发布CREATE TABLE语句吗? C#是否返回字节[]而不是字符串,还是你希望它返回byte []而不是字符串?你为什么使用空而不是_NULL_? – 2010-10-10 14:21:57

+0

如何将字节[]转换为字符串...意味着sql – Mediator 2010-10-10 14:22:14

回答

0

我没有mysql专家,但你为什么不尝试投?

CAST(if(month = '', 'NO',month) AS VARCHAR) AS monthT 

更多在这里: http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

+0

您在SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以在'VARCHAR'附近使用正确的语法作为monthT,quarter,halfyear,year,id_Person,照片 '在第1行 – Mediator 2010-10-10 15:08:04

+0

这是例外 – Mediator 2010-10-10 16:17:41

+0

正如我所说,我不是MySql专家,我没有安装任何MySql。这只是给你提示如何解决它......我确信你可以弄清楚如何使它运行;-) – gsharp 2010-10-10 19:39:40