当前位置: 首页 > 面试题库 >

SQL:如何更新多个字段,以便将空字段内容移动到逻辑上最后的列中-丢失空白地址行

子车鸿运
2023-03-14
问题内容

我有三个地址行列,分别为街道地址aline1,aline2,aline3。从不一致的数据开始,它们中的任何一个或全部都可以为空白。我想将第一个非空白移动到addrline1,将第二个非空白移动到addrline2,如果没有三个非空​​白行,则清除第3行,否则将其保留。(“第一个”表示aline1除非为空,否则是第一个,如果aline1为空,则aline2为第一个;如果aline1和2都为空白,则aline3为第一个)

此登台表中的行没有键,并且可能存在重复的行。我可以添加一个密钥。

不计算大写的实例,该实例枚举了空白和非空白的可能组合,并在各个字段之间移动,我该如何更新表?(同样的问题出现在3行以上,所以这就是为什么我不想使用case语句的原因)

我正在使用Microsoft SQL Server 2008


问题答案:

您可以创建一个插入和更新触发器,以检查字段是否为空,然后将其移动。



 类似资料:
  • 问题内容: 最近,我想做一些数据修补,并尝试更新 varbinary(MAX) 类型的列,更新值是这样的: 0xFFD8F … 6DC0676 但是,更新查询成功运行后,该值将变为: 0x 0 FFD8 … 6DC067 似乎最后4位丢失了,或者整个值右移了一个字节… 我试图删除整行并运行一个 插入查询 ,发生同样的事情! 谁能告诉我为什么会这样?如何解决?谢谢! 我尝试了几种不同长度的二进制文件

  • 我使用Groovy的JsonSlurper解析JSON字符串。我想了解如何(1)检查字符串中是否缺少字段,或者(2)其值是否设置为空。这是我的代码: 不幸的是,这并不能告诉我这个字段是否丢失,或者它的值是否为null。我怎么知道呢?

  • 问题内容: 我有一条更新语句,用于更新ID = xx的字段x,y和z。 在表中,我有几个不同的x_created_datetime字段(用于由不同人员维护/输入的记录的不同部分)。我想编写一个查询,如果为null则将更新此字段,但如果不为null则将其保留。 所以我有: 我需要的是一种添加以下内容的方法,但始终会更新上面的内容: 我希望我可以在不进行第二次事务处理的情况下就可以做到这一点。关于如何

  • 问题内容: 我必须从数据库中提取客户列表,但是如果第二个地址字段为空,我想显示文本“ None Provided”。这是我的查询: 如果地址2为空白,我想显示“无提供”。我怎么做?我敢肯定答案非常简单,但是我脑子屁,在任何地方都找不到答案。 好的,这就是我最终要进行的工作: 有没有更好的方法来实现这一目标? 问题答案: 您可以使用: 甚至更好: 如果数据包含空字符串或null,那么我将考虑使用:

  • 主要内容:物理地址空间,逻辑地址空间,什么是单词?物理地址空间 系统中的物理地址空间可以被定义为主存储器的大小。 将进程大小与物理地址空间进行比较非常重要。 进程大小必须小于物理地址空间。 逻辑地址空间 逻辑地址空间可以定义为进程的大小。 进程的大小应该足够小,以便它可以驻留在主内存中。 什么是单词? Word是内存的最小单位。 它是字节的集合。 在分析输入到解码器的n位地址和从解码器产生的2 ^ n个存储位置之后,每个操作系统定义不同的字长。

  • 问题内容: 我想按(不修改日期时间)将其排序(不修改日期时间),否则按(不发布日期时间)排序 问题答案: 似乎我每周在这里就此给出3条建议,也许我应该放弃并放任它:-)不,我不这么认为: __ 如果希望数据库很好地扩展,请 不要 在列计算(或子句)中使用逐行函数。你应该为你的具体情况检查性能( 测量,不要猜测 ),但是当做计算 读取 数据库通常会影响你的能力,规模(这不会不管你的通讯录数据库,但我