T-SQL CASE 子句:如何指定 WHEN NULL

2023-11-21

我写了一个类似这样的T-SQL语句(原来的看起来不同,但我想在这里给出一个简单的例子):

SELECT first_name + 
    CASE last_name WHEN null THEN 'Max' ELSE 'Peter' END AS Name
FROM dbo.person

该语句没有任何语法错误,但 case 子句始终选择 ELSE 部分 - 即使 last_name 为 null。但为什么?

我想要做的是将first_name和last_name联合起来,但是如果last_name为空,则整个名称将变为空:

SELECT first_name +
   CASE last_name WHEN null THEN '' ELSE ' ' + last_name END AS Name 
FROM dbo.person

你知道问题出在哪里吗?


CASE WHEN last_name IS NULL THEN '' ELSE ' '+last_name END
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

T-SQL CASE 子句:如何指定 WHEN NULL 的相关文章

  • 如何使用索引更改表的列?

    我想将带有某些索引的表中 a 列的列大小从 varchar 200 更改为 varchar 8000 我应该如何进行 既然是VARCHAR你正在增加尺寸 然后简单地ALTER TABLE ALTER COLUMN https learn m
  • 如何在多行上使用 OPENJSON

    我有一个临时表 其中包含多行 每行都有一个名为Categories 其中包含一个非常简单的 json 数组ids对于不同表中的类别 临时表的一些示例行 Id Name Categories 539f7e28 143e 41bb 8814 a
  • SQL Server 2008中与其他列的排序树

    我有一个使用它实现树的表层次结构ID column 样本数据 People Girls 1 Zoey 1 1 Kate 1 2 Monica 1 3 Boys 2 Mark 2 1 David 2 2 这是使用的顺序层次结构ID列作为排序列
  • T-SQL:检查电子邮件格式

    我有这样的场景 我需要物理数据库中的数据完整性 例如 我有一个变量 email address VARCHAR 200 我想检查一下值是否为 email address是电子邮件格式 有人知道如何检查 T SQL 中的格式吗 非常感谢 我使
  • 如何增加每次 INSERT INTO 迭代的值?

    我有一个查询 如下所示 第 1 列位于 另一列是 varchar 100 INSERT INTO TABLE1 column1 column2 SELECT MAX column1 FROM TABLE1 1 anotherColumn F
  • 空间索引无助于 SQL 查询(性能非常慢)

    我正在尝试测试包含 170 万个邮政编码的表中纬度 经度值的空间索引的性能 我创建了一个地理列并向其中添加了一个索引 但是使用空间索引的查询比在同一个表中的纬度 经度列上使用 正常 索引的查询要慢得多 至少 100 倍 但是查询计划显示索引
  • 我的触发器是如何被删除的?

    如果你能弄清楚这一点 那么你就是一位真正的 SQL 大师 这是我见过的最奇怪的事情之一 我已向数据库中的表添加了一个触发器 服务器是 SQL 2008 触发器不会做任何特别棘手的事情 当某些字段发生更改时 只需更改表中的 LastUpdat
  • SQL 注入:replace("'", "''") 还不够好吗?

    虽然我当然可以看到使用参数进行 SQL 查询的优点 特别是在处理日期时间和类似的事情时 但我仍然不确定参数作为only防止SQL注入的方法 事实是 我继承了一个应用程序 它有类似的东西 SELECT Field FROM Table WHE
  • SQL链接服务器查询非常非常慢

    我正在通过链接服务器从视图中提取大量数据 我使用的是 SQL Server 2012 链接服务器是 SQL Server 2008 我的选择语句是 SELECT INTO MY LOCAL TABLE FROM SELECT FROM LI
  • sql server中的str_to_date函数?

    MySQL有一个函数叫STR TO DATE 将字符串转换为日期 http dev mysql com doc refman 5 1 en date and time functions html function str to date
  • 而不是SQL Server中的触发器丢失SCOPE_IDENTITY?

    我有一个表 我在其中创建了一个INSTEAD OF触发执行一些业务规则 问题是当我将数据插入该表时 SCOPE IDENTITY 返回一个NULL值 而不是实际插入的身份 插入 范围代码 INSERT INTO dbo Payment Da
  • TSQL 帮助 - 一种获取行第 N 列中的值的方法?

    我希望找到一种方法来获取数据集第 N 列中的值 因此 对于 N 6 我想要 SELECT Column6Value from MyTable where MyTable RowID 14 有没有办法在 SQL Server 2005 中实现
  • IF EXISTS (SELECT 1...) 与 IF EXISTS (SELECT TOP 1 1...)

    这是一个纯粹的学术问题 这两个陈述实际上是相同的吗 IF EXISTS SELECT TOP 1 1 FROM Table1 SELECT 1 ELSE SELECT 0 Versus IF EXISTS SELECT 1 FROM Tab
  • 在创建 IDENTITY 的同一个 T-SQL 语句中获取 IDENTITY 值?

    有人问我是否可以有一个插入语句 其中有一个作为 身份 列的 ID 字段 以及分配的值是否也可以插入到同一插入语句中同一记录中的另一个字段中 这可能吗 SQL Server 2008r2 Thanks 你不能真正做到这一点 因为将用于的实际值
  • 如何编写 T-SQL 查询来为每个客户端选择前 1 条记录?

    我有一个简单的脚本 我试图获取每个客户端的最新记录 我如何在 TSQL 中执行此操作 这是我目前的代码 但是 这只是总共选择了一条记录 此记录显示所有客户的最新记录 而不是每个客户 请问我该如何重新表述 SELECT TOP 1 C Cli
  • 随机分配工作地点,每个地点不得超过指定员工人数

    我正在尝试在位置列表中选择唯一的随机发布 招聘员工位置 所有员工都已发布在这些位置 我正在尝试为他们生成一个新的随机发布位置 其 位置 条件为 员工新 随机位置将不等于他们的家乡 并且随机选择的员工及其职称必须小于或等于 地点 表中的 地点
  • T-SQL中有异或运算符吗?

    这是我的声明 IF UserName IS NULL AND EditorKey IS NULL OR UserName IS NOT NULL AND EditorKey IS NOT NULL BEGIN RAISERROR One o
  • 重命名重复行

    这是我的问题的一个简化示例 我有一个表 其中有一个包含重复条目的 名称 列 ID Name 1 AAA 2 AAA 3 AAA 4 BBB 5 CCC 6 CCC 7 DDD 8 DDD 9 DDD 10 DDD 进行 GROUP BY 操
  • SQL 国家字符 (NCHAR) 数据类型的真正用途是什么?

    也CHAR CHARACTER and VARCHAR CHARACTER VARYING SQL 提供了NCHAR NATIONAL CHARACTER and NVARCHAR NATIONAL CHARACTER VARYING 类型
  • SQL Server:从 OPENDATASOURCE 中删除

    这有效 SELECT FROM OPENDATASOURCE Microsoft ACE OLEDB 12 0 Data Source d JobFiles MyFile xlsx Extended properties Excel 8 0

随机推荐

  • 如何在控件聚焦时持续显示工具提示?

    如何在控件聚焦时持续显示工具提示 我已经尝试了很多事情 但似乎没有任何效果 现在我有类似以下内容
  • Angular - 无法按工作进行 ng-repeat order

    我已经尝试了很多 ng repeat 和 orderBy 的例子 但我无法让我的 json 与它一起工作 div div div release environment id div div div 和 JSON f
  • 获取CPU/内存利用率的跨平台方法[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 寻找一个库或相当跨平台的方法来获取 C C 中的 CPU 利用率 内存利用率等 除了 getrusage 之外 我需要整个系统 而不是一个进程 我查
  • Data Studio 中的自定义查询出现无效日期错误

    我正在尝试在 Data Studio 中使用自定义查询 BigQuery 准备图表 但是 在使用 Data Studio 日期参数时出现无效日期错误 DS START DATE and DS END DATE 这是我的查询 SELECT c
  • 访问共享网络文件夹

    我需要通过 VBA 访问网络文件服务器上托管的文件夹 该文件夹只能通过我有用户名和密码的服务帐户 与普通用户帐户不同 以书面形式访问 通过 UI 我可以看到该文件夹 并将其映射为本地驱动器 但为了以书面形式访问它 我需要从 Windows
  • “错误:选项 --single-version-externally-management 无法识别”表示什么?

    我似乎突然开始遇到错误error option single version externally managed not recognized使用时pip install与各种包 包括PyObjC and astropy 我以前从未见过这
  • ZLib Inflate() 失败并显示 -3 Z_DATA_ERROR

    我试图通过调用 inflate 函数来解压缩文件 但即使我使用网站上的示例程序 它也总是失败并出现 Z DATA ERROR 我想也许我的 zip 文件不受支持 我在下面附上了 zip 标题的图片 这是我编写的用于执行解压缩的函数 我一次读
  • 为什么用户定义的移动构造函数会禁用隐式复制构造函数?

    当我阅读 boost shared ptr hpp 时 我看到了这段代码 generated copy constructor destructor are fine if defined BOOST HAS RVALUE REFS exc
  • 如何知道 Firefox 中是否单击了刷新按钮或浏览器后退按钮? [复制]

    这个问题在这里已经有答案了 在 Firefox 中如何知道是否单击了刷新按钮或单击了浏览器后退按钮 对于这两个事件 onbeforeunload 方法是一个回调 对于 Internet Explorer 我的处理方式如下 function
  • ReactJS - FCM 无法在 safari 浏览器中工作[重复]

    这个问题在这里已经有答案了 我正在尝试在我的 ReactJS 应用程序中实现 FCM 推送通知 它在 chrome 和 firefox 浏览器中完美运行 但在 safari 浏览器中遇到问题 FirebaseError 消息传递 此浏览器不
  • 应用程序提供的字体列表 (iOS)

    有谁知道如何从 Xcode 中 info plist 文件中的 应用程序提供的字体 键获取自定义字体列表 谢谢 以下代码从 Info plist 中读取自定义字体文件列表 并从字体文件中提取完整的字体名称 部分代码复制自https stac
  • 在 .NET 应用程序中使用 ApacheFOP v1.0

    有人成功地将 Apache FOP v1 0 库编译为 NET DLL 吗 我正在使用位于以下位置的 IKVM 语法 http onjava com pub a onjava 2004 08 18 ikvm html 然而 编译后的DLL似
  • Karma 错误 - 未知提供商:$$asyncCallbackProvider

    尝试通过 grunt 运行我的业力测试 但出现错误 Error injector modulerr Failed to instantiate module ngMock due to Error injector unpr Unknown
  • 如何动态改变ImageView高度

    我有一个用于 ListView 单元格的简单线性布局 它有一个图像视图 图像将从互联网下载 因此尺寸可以不同 但是 我想将imageview的宽度设置为fill parent 这是固定的 并在运行时动态改变图像高度 设置图像高度的规则 如果
  • 在调用保存字符串 ID 之前,必须手动分配此类的 ID

    已经阅读了很多关于同一问题的问题 但我仍然无法解决这个问题 我需要有一个String我的数据库上的主键 import javax persistence Entity import javax persistence Id Entity p
  • 显示 system.data.datarowview 的组合框数据绑定

    我将组合框与数据源 显示成员 值成员绑定 它在我的电脑上运行良好 但在客户端电脑上无法运行 以下是我的源代码 cbxAlloyBinding 方法是从 UserControl 的构造函数中调用的 private void cbxAlloyB
  • 从 shell 脚本读取 python 脚本中带空格的参数

    运行 python 脚本时如何读取带空格的参数 UPDATE 看来我的问题是我通过 shell 脚本调用 python 脚本 这有效 gt python script py firstParam file with spaces txt o
  • 如何检测图像何时失焦?

    有时 我们的光学检测系统会失焦 导致测量结果无意义 我的任务是开发一个 失焦 探测器 用于驱动相机系统的 Z 轴 我可用的图像是 bmp 我正在寻找方法和算法来研究 例如 我应该隔离特征并测量一致性 还是可以使用边缘检测 This is t
  • '^' 在 C#(枚举)中起什么作用?

    我正在阅读一些第 3 方代码 发现了以下内容 x Flags x Flags Flags Hidden 它有什么作用 我使用了 和 对于带有枚举的按位 与 和 或 但这是我第一次看到该符号 是 C 中的按位异或运算符 编辑 如果 a 为真且
  • T-SQL CASE 子句:如何指定 WHEN NULL

    我写了一个类似这样的T SQL语句 原来的看起来不同 但我想在这里给出一个简单的例子 SELECT first name CASE last name WHEN null THEN Max ELSE Peter END AS Name FR