gpt4 book ai didi

c# - SQL 中的字符串函数而不是 C#

转载 作者:太空宇宙 更新时间:2023-11-03 19:49:58 25 4
gpt4 key购买 nike

<分区>

我有 2000000 strip 有客户名称的 sql 记录。我想改变如下。

示例数据:

Name
अमरीनaa मोयोद्दिनa शेखa
रऊफa वाहेदaa शेखa
शहेदाबेगमaa रऊफaa शेखa
इम्रानa रउफ़aa शेखa
दत्तुaa
कैलास धुमाळ
विलास दत्तु धुमाळ
बिस्मिल्ला बी अ.हमीद खॉन
इस्माईल खॉन अ.हमीद खॉन
नसरीन बेगम इस्माईल खान
अ.हमिद खॉन इमाम खॉन
अजमेर खॉ इमाम खॉ
सुग्रा बी अजमेर खॉ
हनीफाबी अजमेर
गौस अजमेर खान
यासीन अजमेर खान
राबिया बी मुश्ताक अली शेख
मो.सिंकंदर अली अन्वरअली शेख
गफार मोयीन शेख
नंदाबाई अशोक
सचिन आशोक दिवेकर
सोनाजी नामदेव बोराडे
व्दारका राजू गायकवाड
लिलाबाई सोनाजी बोराडे
शारदाबाई राजू जगदाळे
अनिता अर्जुन जगदाळे
मंदा सुनील वाढेकर
विठ्ठल दगडू
सुनिल विश्वनाथ वाढेकर
शिवाजी विश्वनाथ
गयाबाई शिवाजी
बाळू विश्वनाथ
वैशाली बाळू वाढेकर
पांडुरंग नामदेब वाघ नामदेव
हिराबाई पांडुरंग बाघ पांडुरंग
सवीता संतोष किर्तीकर
चंद्रकला प्रल्हाद
संतोष प्रल्हाद
अनिल प्रल्हाद
विजय प्रल्हाद किर्तीकर
राजेंद्र काशिनाथ
हिराबाई राजेंद्र
सुरेश पैठणे
नुतन सुरेश
गौतम पैठणे
शारदा गौतम पैठणे गौतम
राजू अंबादास
शोभाबाई राजू
सुनिता गोटीराम गायकवाड
बाळकृष्ण भानुदास दुलग

上面的数据有名字,中间名和姓氏,我想要:

  1. 在名字的每个单词中,aa 都应替换为单个 a,它是名字中的任何地方(अमरीनaa 将是 अमरीन 和 रऊफaa 将是 IDऊफ)
  2. 在名字的每个单词中,a 应该被删除,它在单词的最后(शेखa 将是 शेख 和 मोयोद्दिनa 将是 मोयोद्दिन)
  3. 如果名字超过 2 个单词,那么最后一个单词将排在第一个(विलास दत्तु धुमाळ 将是धुमाळ विलास दत्तु)
  4. 如果名字少于 3 个单词,那么它将与 कैलास धुमाळ 将 कैलास धुमाळ 和 दत्तुaa 将是 दत्तुaa)
  5. 应删除所有以空格开头和结尾的单词。

对于上述要求,我正在使用 C# 硬代码来完全填充,但需要 5 到 8 个小时才能完成,我希望这应该在 sql 端完成。

这是我的 C# 代码:

 int _pcount = 0;
string _qr = "";
string _Name = "";
string _FinalName = "";
string _FNAME = "";
string _LastName = "";
string _MiddleName = "";
string _ID = "";
string[] _Split;
List<string> _a = new List<string>();
DataRowCollection _dr = _CDatabase._MGetDataRows("SELECT _ID, _FULLNAME FROM MYTABLE ORDER BY _FULLNAME"); // This is a function will execute a sql and return DataRowCollection
progressBar1.Maximum = _dr.Count + 1;
progressBar1.Value = 0;
using (SqlConnection con = new SqlConnection("MyConStr"))
{
con.Open();
using (SqlTransaction trans = con.BeginTransaction(IsolationLevel.ReadCommitted))
{
try
{
foreach (DataRow _row in _dr)
{
progressBar1.Value++;
_pcount++;
if (_pcount >= 100)
{
_pcount = 0;
Application.DoEvents();
}
_ID = _CConvert._MConvertToString(_row[0]);
_Name = _CConvert._MConvertToString(_row[1]);

_Split = _Name.Split(' ');
_a = _Split.ToList();
_a.Remove(" ");
_a.Remove(" ");
_a.Remove(" ");
_a.Remove(" ");
_a.Remove(" ");
_a.Remove(" ");
switch (_a.Count)
{
case 0:
{
_FNAME = _FinalName = _Name;
_FNAME = _Name;
_LastName = "";
_MiddleName = "";
break;
}
case 1:
{
_FNAME = _FinalName = _Name;
_FNAME = "";
_LastName = _Name;
_MiddleName = "";
break;
}
case 2:
{
_FNAME = _FinalName = _Name;
_FNAME = _a[0];
_LastName = _FNAME;
_MiddleName = _a[1];
break;
}

case 3:
{
_FinalName = _a[2] + " " + _a[0] + " " + _a[1];
_FNAME = _a[0];
_MiddleName = _a[1];
_LastName = _a[2];
break;
}
case 4:
{ // nasreen begum ismail khan
_FinalName = _a[3] + " " + _a[0] + " " + _a[1] + " " + _a[2];
_FNAME = _a[0] + " " + _a[1]; // nasreen begum
_MiddleName = _a[2];// ismail
_LastName = _a[3];//khan
break;
}

case 5:
{ // jaibunnisa begum gulam dastagir sahab syed
_FinalName = _a[4] + " " + _a[0] + " " + _a[1] + " " + _a[2] + " " + _a[3];
_FNAME = _a[0] + " " + _a[1]; // jaibunnisa begum
_MiddleName = _a[2] + " " + _a[3];// gulam gastagir
_LastName = _a[4];//syed
break;
}

case 6:
{ // jaibunnisa begum gulam dastagir syed
_FinalName = _a[5] + " " + _a[0] + " " + _a[1] + " " + _a[2] + " " + _a[3] + " " + _a[4];
_FNAME = _a[0] + " " + _a[1]; // jaibunnisa begum
_MiddleName = _a[2] + " " + _a[3] + " " + _a[4];// gulam gastagir
_LastName = _a[5];//syed
break;
}
case 7:
{ // jaibunnisa begum gulam dastagir syed
_FinalName = _a[6] + " " + _a[0] + " " + _a[1] + " " + _a[2] + " " + _a[3] + " " + _a[4] + " " + _a[5];
_FNAME = _a[0] + " " + _a[1]; // jaibunnisa begum
_MiddleName = _a[2] + " " + _a[3] + " " + _a[4] + " " + _a[5];// gulam gastagir
_LastName = _a[6];//syed
break;
}
default:
{
_FinalName = _Name;
_FNAME = "";
_LastName = "";
_MiddleName = "";
break;
}
}

_qr = "UPDATE MYTABLE SET _FULLNAME = N'" + _FinalName + "' WHERE _ID = '" + _ID + "'";
_mExcute(_qr, con, trans);
}
trans.Commit();
con.Close();
trans.Dispose();
MessageBox.Show("DONE");
}
catch (Exception ex)
{
trans.Rollback();
con.Close();
_CShowMessageBox._MShowErrorMessageBox(ex.Message);
}
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com