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

T SQL条件字符串连接

红砚文
2023-03-14
问题内容

拥有5列地址数据。我需要将这些字段连接到一个地址中,如果它们之间存在空格,则它们之间应有空格。如果该列的值为空,则应跳过该列,不要输入任何空格。

select 
        case 
            when street_number != '' THEN (cast(street_number as int)) 
        end as street_number,
        case
            when street_ext != '' then
                    case
                        when street_ext = 50 then '1/2'
                    end
        end as street_ext,
        case
            when street_direct ! = '' then street_direct
        end as street_direct,
        case
            when site_street ! = '' then site_street
        end as site_street,
        case
            when site_address ! = '' then site_address
        end as site_address
    from parcel

我想做的是有一个变量,并将其分配给第一列street_number的值,然后当我移至下一列street_ext时,如果它不为null,我想检查一下是否该变量为null,如果不是,则在其后附加一个空格和值…以此类推。

我很生疏,可能会朝正确的方向推。

谢谢大家。


问题答案:

使用“ +”连接TSQL中的字符串:

SELECT CASE 
         WHEN LEN(p.street_number) > 0 THEN p.street_number + ' ' 
         ELSE '' 
       END +
       CASE 
         WHEN p.street_ext = 50 THEN '1/2'
         WHEN LEN(p.street_ext) > 0 THEN ''
         ELSE p.street_ext
       END + ' ' +
       CASE 
         WHEN LEN(p.street_direct) > 0 THEN p.street_direct + ' '
         ELSE ''
       END + 
       CASE 
         WHEN LEN(p.site_street) > 0 THEN p.site_street + ' '
         ELSE ''
       END  + 
       CASE 
         WHEN LEN(p.site_address) > 0 THEN p.site_address + ' '
         ELSE ''
       END AS full_address
FROM PARCEL p

该LEN函数返回零如果字符串值是NULL,或一个零长度的字符串。



 类似资料:
  • 我在C#和TSQL中有base64字符串编码/解码函数,我的问题是C#的编码结果与TSQL的编码结果不同。 null 你知道如何匹配结果吗?

  • 问题内容: 有一些与此相关的帖子,但是我对TSQL还是很陌生,无法理解它们,所以请原谅。 我的程序有: 如果我以这种方式执行它: 我收到此错误:从字符串转换日期时间时转换失败。 我该如何解决? 太感谢了 问题答案: 如果您查看CONVERT的文档,则会看到格式102是ANSI格式,即。因此,通过类似的日期应该可以。 它看起来也可以使用,但这不在文档格式中。

  • 我以前写过这个 不知道有没有更好的办法。 我想要的是 或者 像 在 PHP 中。 有没有类似的方法将条件直接放入字符串中?

  • 问题内容: 我有以下代码 输出为。 Java如何完成字符串连接的技巧? 问题答案: 因为Java将表达式转换为类似 实际上,我认为它可能使用s,因此: 解决更高效 这使用“ 字符串”构建器上的方法(针对每种类型),这些方法可以正确处理

  • 本文章将介绍Thymeleaf标准表达式语法中的概念。 学习如何在Thymeleaf模板中显示对象(Bean)的属性值。 已经将类的bean已经设置为名称为的上下文模型。 为这些和属性添加一些格式,学习使用字符串相连接输出。 最后,修改模板以获得一个合理的静态原型(例如,通过一些原型数据替换并显示结果)。 如果要上机实践,请参考:Thymeleaf+SpringMVC5示例项目。这里不再重复创建项

  • 我正在读一本书叫做。NET Gotchas(非常值得一读),它说明了String和StringBuilder之间的性能差异,它提出了一个我觉得不能没有答案的问题!虽然我不知道这两个类的内部结构(不看这些类的反射版本),但我想知道;因为运算符在。NET是可重载的,为什么微软没有实现String类来在内部使用StringBuilder并重载连接运算符来简单调用。在StringBuilder中追加()?