C# C MySQL选择空值

C# C MySQL选择空值,c#,mysql,select,null,zero,C#,Mysql,Select,Null,Zero,表中有数字。例如0050。数据库中的值正好是0050,因为我设置了零填充。 但现在,当我想在C中选择这个数字时,它只显示50,没有2个空值 我的代码: private void button4_Click(object sender, EventArgs e) { string input = label1.Text.Trim(); string conn = "server=46.28.110.147;user=asqasdqdq;password=qdqdq

表中有数字。例如0050。数据库中的值正好是0050,因为我设置了零填充。 但现在,当我想在C中选择这个数字时,它只显示50,没有2个空值

我的代码:

private void button4_Click(object sender, EventArgs e)
   {
       string input = label1.Text.Trim();
       string conn = "server=46.28.110.147;user=asqasdqdq;password=qdqdqd;database=qdqdqwdqd;";
       MySqlConnection myconn = new MySqlConnection(conn);
       string sql = "SELECT numbers FROM vfr WHERE used=0 ORDER BY numbers LIMIT 1";
       MySqlDataAdapter da = new MySqlDataAdapter(sql, myconn);
       DataTable dt = new DataTable();
       da.Fill(dt);

       label1.Text = dt.Rows[0][0] + "";


   }

谢谢你,因为无论ZEROFILL是什么意思,存储为数字的内容都不包含格式信息。如果您将数字存储为字符串,那么可能是这样,但是如果在将其输入C时将其转换为数字,则仍然会遇到完全相同的问题。数字在C中也不包含格式信息。控制格式是一个单独的过程。退房


您似乎感到困惑:字符串0050与50is数字不同,顺便说一下,对于一个包含一个整数类型的数字的列来说,这是一个非常糟糕的名称。ZeroFill是无用的,除非它是字符串类型,任何前导零都将被删除,因为int没有0050=50。但我只有SELECT有问题。所以我编辑了第一篇文章。谢谢,但我不能用它,因为数据库中有更多的数字。顺便说一句,问题只在于选择,更新是为了另一个操作:我编辑了first postThank you,但我不能使用它,因为我有另一个SELECT命令:SELECT numbers FROM vfr WHERE used=0 ORDER BY numbers LIMIT 1OP似乎使用null表示零,而不是SQL null。如果问题是关于null的,我建议对is null和is not null测试进行更多解释。选择isnullnumbers,0,isnullnull,123可能是正确的选择isnullnull,null,null,numbers,1
 var x = 0050;
 Console.Write(x);
 Console.Write(x.ToString("0000"));
select * from table where numbers is null

select * from table where numbers is not null
update table set numbers =1 where numbers is null

update table set numbers =1 where numbers is not null