MS-SQL Server同时更新一张表中多个字段的值

兵工厂三剑客 2016-01-19 06:08:40
表格字段如图,图中只是展示了部分数据

图片中可以看出被修改MAC数据是在哪个字段,但是实际操作是并不知道在哪个字段(即不知道是在MAC1还是在MAC2)。
现在我想实现以下操作:
把“00231FABCAB1”修改为“00231FABCAB2”
把“00231FABCAB3”修改为“00231FABCAB4”
把“00231FABCAB5”修改为“00231FABCAB6”
把“00231FABCAB7”修改为“00231FABCAB8”
。。。
。。。
。。。
请问用SQL语句怎么实现,而且执行的速率也比较快,性能好。因为数据库每天都会有几千条的数据被存进去,目前已经有近百万条数据了。
我用了下面的语句:
update MAC2SN set MAC1=case MAC1
when '00231F70EA30' then '00231F'
when '00231F70EA32' then '00231FABF'
end,
MAC2=case MAC2
when '00231F70EA30' then '00231FABD'
when '00231F70EA32' then '00231FABF'
end
where MAC1 in ('00231F70EA30','00231F70EA32') or MAC2 in ('00231F70EA30','00231F70EA32')
发现当MAC1被更新后,其对应的MAC2则成了NULL。如下图

请教下大家,该怎么弄。我对SQL语句不熟练,只会简单的,折腾我一下午了。
...全文
536 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
兵工厂三剑客 2016-01-21
  • 打赏
  • 举报
回复
引用 14 楼 xdashewan 的回复:
update MAC2SN
set MAC1 = case MAC1 when ‘00231F70EA46’ then ‘00231F70E70E’ else MAC1 end,
      MAC2 = case MAC2 when ‘00231F70EA46’ then ‘00231F70E70E’ else MAC2 end
感谢。
兵工厂三剑客 2016-01-21
  • 打赏
  • 举报
回复
我把我最后的代码贴出来:

public void ExecuteMACSTransaction(string[] oldvalues, string[] newvalues, DataBaseSelected dbs, string ip)
        {
            string connectionString = "Data Source=" + ip + ";Persist Security Info=True;Initial Catalog=MACSN数据管理;User ID=sa;Password=sql";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                SqlCommand command = connection.CreateCommand();
                SqlTransaction transaction;

                // Start a local transaction.
                transaction = connection.BeginTransaction("SampleTransaction");

                // Must assign both transaction object and connection
                // to Command object for a pending local transaction
                command.Connection = connection;
                command.Transaction = transaction;
                try
                {
                    int count = oldvalues.Length;
                    switch (dbs)
                    {
                        case DataBaseSelected.MAC1SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC='{0}' where MAC='{1}'",newvalues[i],oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC2SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end where MAC1='{4}' or MAC2='{5}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC3SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end,MAC3=case MAC3 when '{4}' then '{5}' else MAC3 end where MAC1='{6}' or MAC2='{7}' or MAC3='{8}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery(); 
                            }
                            break;
                        case DataBaseSelected.MAC4SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end,MAC3=case MAC3 when '{4}' then '{5}' else MAC3 end,MAC4=case MAC4 when '{6}' then '{7}'else MAC4 end where MAC1='{8}' or MAC2='{9}' or MAC3='{10}' or MAC4='{11}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery(); 
                            }
                            break;
                        case DataBaseSelected.MAC21SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC='{0}' where MAC='{1}'", newvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC22SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end where MAC1='{4}' or MAC2='{5}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC23SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end,MAC3=case MAC3 when '{4}' then '{5}' else MAC3 end where MAC1='{6}' or MAC2='{7}' or MAC3='{8}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC24SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end,MAC3=case MAC3 when '{4}' then '{5}' else MAC3 end,MAC4=case MAC4 when '{6}' then '{7}'else MAC4 end where MAC1='{8}' or MAC2='{9}' or MAC3='{10}' or MAC4='{11}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC31SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC='{0}' where MAC='{1}'", newvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC32SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end where MAC1='{4}' or MAC2='{5}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC33SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end,MAC3=case MAC3 when '{4}' then '{5}' else MAC3 end where MAC1='{6}' or MAC2='{7}' or MAC3='{8}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        case DataBaseSelected.MAC34SN:
                            for (int i = 0; i < count; i++)
                            {
                                command.CommandText = string.Format("update " + dbs.ToString() + " set MAC1=case MAC1 when '{0}' then '{1}' else MAC1 end,MAC2=case MAC2 when '{2}' then '{3}' else MAC2 end,MAC3=case MAC3 when '{4}' then '{5}' else MAC3 end,MAC4=case MAC4 when '{6}' then '{7}'else MAC4 end where MAC1='{8}' or MAC2='{9}' or MAC3='{10}' or MAC4='{11}'", oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], newvalues[i], oldvalues[i], oldvalues[i], oldvalues[i], oldvalues[i]);
                                command.ExecuteNonQuery();
                            }
                            break;
                        default:
                            break;
                    }
                    
                    transaction.Commit();
                    connection.Close();
                    connection.Dispose();
                }
                catch (Exception ex)
                {
                    connection.Close();
                    connection.Dispose();
                    DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message,"提示");
                }

            }
        }
兵工厂三剑客 2016-01-21
  • 打赏
  • 举报
回复
引用 15 楼 wtujedp 的回复:
[quote=引用 13 楼 SCGH_Fx 的回复:] [quote=引用 9 楼 wtujedp 的回复:] [quote=引用 4 楼 SCGH_Fx 的回复:] [quote=引用 2 楼 wtujedp 的回复:] 两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
但是t2(原MAC与新MAC对应的表)并不在数据库当中,只是一个对应关系,操作是在客户端完成。按照你的思路,是不是需要建个t2临时表。如果建个临时表,对于大批量修改有必要。但是如果小批量修改,比如只修改一两条数据又显得麻烦。[/quote] 我一开始是以为你只是批量更新一次的。 现在你的意思是在程序里面每次都要更新,那你只要你循环T2对应表,一个个去更新就行了。[/quote] 我想再请教一下一个Update语句怎么写。我想更新表“MAC2SN”的某个MAC值,原MAC为“00231F70EA46”,需要更新成“00231F70E70E”,事先不知道是在哪个字段,这该怎么写呢,谢谢了。我帖子中用的SQL语句有错误。 我打算采用循环一条一条更新。[/quote] 你这边是不是只有两个MAC1和MAC2两个字段,你不知道这一次更新的是哪一个字段, 如果你MAC1更新了,则必须去对应的
引用 13 楼 SCGH_Fx 的回复:
[quote=引用 9 楼 wtujedp 的回复:] [quote=引用 4 楼 SCGH_Fx 的回复:] [quote=引用 2 楼 wtujedp 的回复:] 两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
但是t2(原MAC与新MAC对应的表)并不在数据库当中,只是一个对应关系,操作是在客户端完成。按照你的思路,是不是需要建个t2临时表。如果建个临时表,对于大批量修改有必要。但是如果小批量修改,比如只修改一两条数据又显得麻烦。[/quote] 我一开始是以为你只是批量更新一次的。 现在你的意思是在程序里面每次都要更新,那你只要你循环T2对应表,一个个去更新就行了。[/quote] 我想再请教一下一个Update语句怎么写。我想更新表“MAC2SN”的某个MAC值,原MAC为“00231F70EA46”,需要更新成“00231F70E70E”,事先不知道是在哪个字段,这该怎么写呢,谢谢了。我帖子中用的SQL语句有错误。 我打算采用循环一条一条更新。[/quote] update MAC2SN set mac1='00231F70E70E' where mac1='00231F70EA46' update MAC2SN set mac2='00231F70E70E' where mac2='00231F70EA46' [/quote] 感谢,14楼的语句更方便一点。
兵工厂三剑客 2016-01-20
  • 打赏
  • 举报
回复
引用 9 楼 wtujedp 的回复:
[quote=引用 4 楼 SCGH_Fx 的回复:] [quote=引用 2 楼 wtujedp 的回复:] 两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
但是t2(原MAC与新MAC对应的表)并不在数据库当中,只是一个对应关系,操作是在客户端完成。按照你的思路,是不是需要建个t2临时表。如果建个临时表,对于大批量修改有必要。但是如果小批量修改,比如只修改一两条数据又显得麻烦。[/quote] 我一开始是以为你只是批量更新一次的。 现在你的意思是在程序里面每次都要更新,那你只要你循环T2对应表,一个个去更新就行了。[/quote] 我想再请教一下一个Update语句怎么写。我想更新表“MAC2SN”的某个MAC值,原MAC为“00231F70EA46”,需要更新成“00231F70E70E”,事先不知道是在哪个字段,这该怎么写呢,谢谢了。我帖子中用的SQL语句有错误。 我打算采用循环一条一条更新。
兵工厂三剑客 2016-01-20
  • 打赏
  • 举报
回复
引用 11 楼 xdashewan 的回复:
[quote=引用 10 楼 SCGH_Fx 的回复:] 我忘了说了,操作是在客户端完成的。 大批量的操作不是经常有,操作频率较高的是小批量(几条,10来条)的。这样的话,用循环是不是比较合理。
数量不多用循环没什么问题,10来条没什么压力[/quote] 嗯。那我就用循环了。我想再请教一下一个Update语句怎么写。我想更新表“MAC2SN”的某个MAC值,原MAC为“00231F70EA46”,需要更新成“00231F70E70E”,事先不知道是在哪个字段,这该怎么写呢,谢谢了。我帖子中用的SQL语句有错误。
xdashewan 2016-01-20
  • 打赏
  • 举报
回复
引用 10 楼 SCGH_Fx 的回复:
我忘了说了,操作是在客户端完成的。 大批量的操作不是经常有,操作频率较高的是小批量(几条,10来条)的。这样的话,用循环是不是比较合理。
数量不多用循环没什么问题,10来条没什么压力
兵工厂三剑客 2016-01-20
  • 打赏
  • 举报
回复
引用 8 楼 xdashewan 的回复:
[quote=引用 7 楼 SCGH_Fx 的回复:] 你的意思是不是有多少条记录要更新,就执行多少次Update。我是在客户端来完成更新数据库的操作。 我看了微软的C#代码,有点想用循环来执行Update。代码我在上面贴出来了。
循环当然可以是可以,但如果数目上去可能会有性能问题。你可以建一张要更新的表,把更新条件和值插进去,然后分两句执行关联update,一句关联mac1更新mac1,另一句关联mac2更新mac2[/quote] 我忘了说了,操作是在客户端完成的。 大批量的操作不是经常有,操作频率较高的是小批量(几条,10来条)的。这样的话,用循环是不是比较合理。
xdashewan 2016-01-20
  • 打赏
  • 举报
回复
引用 7 楼 SCGH_Fx 的回复:
你的意思是不是有多少条记录要更新,就执行多少次Update。我是在客户端来完成更新数据库的操作。 我看了微软的C#代码,有点想用循环来执行Update。代码我在上面贴出来了。
循环当然可以是可以,但如果数目上去可能会有性能问题。你可以建一张要更新的表,把更新条件和值插进去,然后分两句执行关联update,一句关联mac1更新mac1,另一句关联mac2更新mac2
wtujedp 2016-01-20
  • 打赏
  • 举报
回复
引用 4 楼 SCGH_Fx 的回复:
[quote=引用 2 楼 wtujedp 的回复:] 两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
但是t2(原MAC与新MAC对应的表)并不在数据库当中,只是一个对应关系,操作是在客户端完成。按照你的思路,是不是需要建个t2临时表。如果建个临时表,对于大批量修改有必要。但是如果小批量修改,比如只修改一两条数据又显得麻烦。[/quote] 我一开始是以为你只是批量更新一次的。 现在你的意思是在程序里面每次都要更新,那你只要你循环T2对应表,一个个去更新就行了。
兵工厂三剑客 2016-01-20
  • 打赏
  • 举报
回复
引用 6 楼 xdashewan 的回复:
别用case whern,每一个update执行两句sql,一句更新mac1,另一句更新mac2
你的意思是不是有多少条记录要更新,就执行多少次Update。我是在客户端来完成更新数据库的操作。 我看了微软的C#代码,有点想用循环来执行Update。代码我在上面贴出来了。
xdashewan 2016-01-20
  • 打赏
  • 举报
回复
别用case whern,每一个update执行两句sql,一句更新mac1,另一句更新mac2
兵工厂三剑客 2016-01-20
  • 打赏
  • 举报
回复
引用 3 楼 xiaoxiangqing 的回复:
只能用case来判断吧,这样效率不会太高
就是啊。而且如果用case,大批量修改的话,那语句太长了。 我看了微软给的这段C#代码,倒是有点想用循环来完成。

using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();

        SqlCommand command = connection.CreateCommand();
        SqlTransaction transaction;

        // Start a local transaction.
        transaction = connection.BeginTransaction("SampleTransaction");

        // Must assign both transaction object and connection
        // to Command object for a pending local transaction
        command.Connection = connection;
        command.Transaction = transaction;

        try
        {
            command.CommandText =
                "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
            command.ExecuteNonQuery();
            command.CommandText =
                "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
            command.ExecuteNonQuery();

            // Attempt to commit the transaction.
            transaction.Commit();
            Console.WriteLine("Both records are written to database.");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Commit Exception Type: {0}", ex.GetType());
            Console.WriteLine("  Message: {0}", ex.Message);

            // Attempt to roll back the transaction.
            try
            {
                transaction.Rollback();
            }
            catch (Exception ex2)
            {
                // This catch block will handle any errors that may have occurred
                // on the server that would cause the rollback to fail, such as
                // a closed connection.
                Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());
                Console.WriteLine("  Message: {0}", ex2.Message);
            }
        }
    }

xiaoxiangqing 2016-01-20
  • 打赏
  • 举报
回复
只能用case来判断吧,这样效率不会太高
兵工厂三剑客 2016-01-20
  • 打赏
  • 举报
回复
引用 2 楼 wtujedp 的回复:
两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
但是t2(原MAC与新MAC对应的表)并不在数据库当中,只是一个对应关系,操作是在客户端完成。按照你的思路,是不是需要建个t2临时表。如果建个临时表,对于大批量修改有必要。但是如果小批量修改,比如只修改一两条数据又显得麻烦。
wtujedp 2016-01-20
  • 打赏
  • 举报
回复
两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
wtujedp 2016-01-20
  • 打赏
  • 举报
回复
引用 13 楼 SCGH_Fx 的回复:
[quote=引用 9 楼 wtujedp 的回复:] [quote=引用 4 楼 SCGH_Fx 的回复:] [quote=引用 2 楼 wtujedp 的回复:] 两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
但是t2(原MAC与新MAC对应的表)并不在数据库当中,只是一个对应关系,操作是在客户端完成。按照你的思路,是不是需要建个t2临时表。如果建个临时表,对于大批量修改有必要。但是如果小批量修改,比如只修改一两条数据又显得麻烦。[/quote] 我一开始是以为你只是批量更新一次的。 现在你的意思是在程序里面每次都要更新,那你只要你循环T2对应表,一个个去更新就行了。[/quote] 我想再请教一下一个Update语句怎么写。我想更新表“MAC2SN”的某个MAC值,原MAC为“00231F70EA46”,需要更新成“00231F70E70E”,事先不知道是在哪个字段,这该怎么写呢,谢谢了。我帖子中用的SQL语句有错误。 我打算采用循环一条一条更新。[/quote] 你这边是不是只有两个MAC1和MAC2两个字段,你不知道这一次更新的是哪一个字段, 如果你MAC1更新了,则必须去对应的
引用 13 楼 SCGH_Fx 的回复:
[quote=引用 9 楼 wtujedp 的回复:] [quote=引用 4 楼 SCGH_Fx 的回复:] [quote=引用 2 楼 wtujedp 的回复:] 两表关联更新 update t1 set mac1=t2.mac2 from t1 inner join T2 on t1.mac1=t2.mac1 t1 是你原来的表,需要被更新。 t2 是原MAC与新MAC对应的表 两表根据mac进行关联然后进行更新。
但是t2(原MAC与新MAC对应的表)并不在数据库当中,只是一个对应关系,操作是在客户端完成。按照你的思路,是不是需要建个t2临时表。如果建个临时表,对于大批量修改有必要。但是如果小批量修改,比如只修改一两条数据又显得麻烦。[/quote] 我一开始是以为你只是批量更新一次的。 现在你的意思是在程序里面每次都要更新,那你只要你循环T2对应表,一个个去更新就行了。[/quote] 我想再请教一下一个Update语句怎么写。我想更新表“MAC2SN”的某个MAC值,原MAC为“00231F70EA46”,需要更新成“00231F70E70E”,事先不知道是在哪个字段,这该怎么写呢,谢谢了。我帖子中用的SQL语句有错误。 我打算采用循环一条一条更新。[/quote] update MAC2SN set mac1='00231F70E70E' where mac1='00231F70EA46' update MAC2SN set mac2='00231F70E70E' where mac2='00231F70EA46'
xdashewan 2016-01-20
  • 打赏
  • 举报
回复
update MAC2SN
set MAC1 = case MAC1 when ‘00231F70EA46’ then ‘00231F70E70E’ else MAC1 end,
      MAC2 = case MAC2 when ‘00231F70EA46’ then ‘00231F70E70E’ else MAC2 end
兵工厂三剑客 2016-01-19
  • 打赏
  • 举报
回复
还有就是我想实现大批量(成百上千条)的更新。只给出原MAC值与其更新后的MAC值,举个例子: 把“00231FABCAB1”修改为“00231FABCAB2” 把“00231FABCAB3”修改为“00231FABCAB4” 把“00231FABCAB5”修改为“00231FABCAB6” 把“00231FABCAB7”修改为“00231FABCAB8” 。。。(这里还有很多) 这样的话又该怎么弄比较好呢。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧