快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

拆分字符串:如何在结构化查询语言服务器中使用一致数据

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

如果你是一个开发人员,你总会在代码中找到避难所,但是有时候当你被以一种不寻常的格式呈现数据时,事情就会变得。。 奇怪。

例如,我正在与一个客户合作,他们为我提供了一个行的电子表格,并希望将数据导入到结构化查询语言服务器中。

在这些维护屏幕到位之前,我会继续导入数据。 我已经根据之前写的一篇名为”将数据层次结构从超过导入到” SQL Server “的文章编写了一个数据屏幕。

现在我知道你在想什么了。 为什么不使用数据转换服务?

导入数据时,您可以选择编写一个结构化查询语言语句或定义列及其大小。 虽然这为导入数据提供了一个强大的前端,但是这种特殊的方法存在更多的不一致性。

我开始走这条路,发现太费时间了,所以我决定寻找另一条路。

回到电子表格。

在这个电子表格中,数据根本不一致。

  • 名称在一个单元格中(“约翰 母鹿(而不是在单独的单元格中(名字,约翰,姓多伊(.
  • 电话号码有不同的格式(‘(999( 999-9999 ‘,’ 999-999-9999 ‘,’ 999 ‘。999.9999 ‘,'(999)999-9999分机。99 ‘等。)

因为我们希望数据库中的初始数据负载保持一致,所以我们需要将数据”按摩”成可用的格式。

在今天的帖子中,由于这个周末我一直在处理不一致的数据,我将展示一个快速简单的拆分器来帮助处理字符串,这将节省您的工作时间。

创建函数

因为这只是用于数据的初始加载,所以这段代码不适合生产环境。

然而,我已经使用这个函数很长时间了。 这是我在资料库中使用的一个结构化查询语言服务器函数,我发现它非常有用。

该函数在创建时存储在 表值函数 部分(> > 可编程序性 > 功能 > 表值函数(并且总是可用。


非常快速简单。 这个函数的工作原理就像一张桌子。


执行此语句,您将收到以下输出。

编号 英国压力单位
1 约翰
2

母鹿

如您所见,这使得拆分名称变得非常容易。 如果您想将值保存到字段和中,这非常简单:


现在,我遇到了几个问题,电子表格中的名字是”约翰 多伊。”如果你有一个中间的首字母,它仍然会把它分开,但是你会有三条记录而不是两条。

对分割结果进行计数,以确定最适合您的数据的方法。

根据我的需要,我只将中间名变量添加到名字变量中,并将保存到表中。

电话号码呢?

电话号码需要额外的按摩才能得到我们需要的格式。

客户的数据库需要字段中的所有数字,没有破折号、句点或括号。

我们需要删除任何无关的字符并执行相同的拆分。


您的输出将包括以下内容:

编号 英国压力单位
1 999
2 999
3

9999

连接,转换为整数,并保存到您的表中。

同样,您可能有一个电话号码,其中包含一个分机(“分机。 2044 “或“x64”)意味着您将有四条记录,而不是三条。

根据您的数据需求进行必要的调整。

结论

我觉得在数据库中工作很讽刺,因为我在根据自己的需求处理数据时遇到了问题。

也许是因为我不是数据库管理员,或者我被C#的字符串操作方法宠坏了。

这个特殊的函数是我尝试过的函数之一,每当我在结构化查询语言服务器中处理数据时,我都会用到它。

在今天的文章中,我演示了如何使用XML来执行字符串操作,以及它如何成为全堆栈开发人员发现编写自己的数据库”函数”的其他方法的起点,从而加快数据操作的不寻常方式。

有没有更好的方法来实现这一点? 你有数据库函数库吗? 在下面发表你的评论,让我们讨论一下。

相关推荐

 
QQ在线咨询
售前咨询热线
QQ1922638