SQL Case 语句会失败吗?

2024-06-25

有没有办法让 SQL 中的 CASE 语句像 C# 中的 case 语句一样失败?我不想做的是下面的例子,但如果这是我唯一的选择,我想我会选择它。

EXAMPLE:

@NewValue =
   CASE
      WHEN @MyValue = '1' THEN CAST(@MyValue AS int)
      WHEN @MyValue = '2' THEN CAST(@MyValue AS int)
      ELSE NULL
   END

EDIT:

我正在使用 SQL Server。


回答您的具体问题:不,它不能。

例如,参见CASE 的 MySQL 文档 http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html. Every WHEN必须有一个THEN result,并且没有办法解决这个问题。这THEN未标记为可选。这同样适用于我使用过的所有其他 RDBMS。

这是另一个例子:Sql Server 的 CASE 表达式 http://msdn.microsoft.com/en-us/library/ms181765.aspx

您已经有一个很好的替代方法作为评论发布,所以我不会在这里重复。

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

SQL Case 语句会失败吗? 的相关文章

  • SQL Server:十进制精度/小数位数产生奇怪的结果

    我正在为一个项目编写一些 SQL 我注意到 SQL Server 中一些看似奇怪的行为 涉及除以小数时的答案 以下是一些示例 说明了我所看到的行为 DECLARE Ratio Decimal 38 16 SET Ratio CAST 210
  • SSDT 单元测试:从配置文件读取 SQL Server 单元测试设置时发生错误

    我在 Visual Studio 2013 professional 中创建了一个数据库项目 然后通过右键单击存储过程之一并选择来添加单元测试创建单元测试 选择创建一个新的VB测试项目 然后右键单击新创建的测试项目并选择SQL Server
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • SQL CASE 语句

    我有以下查询 我想将它们放入 sql CASE 语句中 这样我只有一个查询 但我不知道该怎么做 有人可以帮助我吗 IF SELECT EtlLoadId FROM ssislogs audit processcontrol WHERE Su
  • 开发和生产 SQL Server 之间使用不同的排序规则会出现哪些问题?

    盘问 无法更新 sys columns 还有其他方法吗 https stackoverflow com questions 4018347 unable to update sys columns any other approach含糊地
  • 查看tomcat服务器的连接数

    我在 Tomcat Server 5 5 17 上部署了一个 Java Java EE Web 应用程序 我想知道连接到服务器的客户端数量 我们怎样才能找到它呢 最可靠的方法是搜索ip addr of srv port in netstat
  • 即使在不活动状态下,Hangfire 也会继续运行 SQL 查询

    我正在开发一个 ASP net MVC 5 网站 并使用 Hangfire 来安排一些任务 在本例中每 3 分钟一次 我知道一个事实是 运行这样的任务 以及与之相关的数据库查询 只需要几秒钟 我面临的问题是 Hangfire 似乎让我的 S
  • ROUTINE_NAME 和 SPECIFIC_NAME 之间有什么区别?

    在 INFORMATION SCHEMA ROUTINES 视图中 存在 ROUTINE NAME 和 SPECIFIC NAME 按照MSDN http msdn microsoft com en us library ms188757
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h
  • 工厂模式数据库连接

    我正在尝试使用 MySQL 实现数据库连接上的工厂模式 SQL Server 面临奇怪的错误 你调用的对象是空的 在 SQL 命令对象上 internal class SqlServerDB IDatabase private SqlCon
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • SQL Server 中不需要的日期时间舍入

    我遇到了一些看起来很奇怪的事情 SQL Server 似乎正在舍入一些DateTime当我将它们保存到时 值不合适datetime列 我怀疑我错过了一些东西 但我找不到它 我正在使用 NET 4 0 针对 SQL Server 2008 运
  • 如何编辑表以启用级联删除?

    我有一个代表用户的表 当用户被删除时我得到 DELETE 语句与 REFERENCE 约束冲突 显然 CASCADE DELETE在SQL Server中并不像我想象的那么容易 需要将选项添加到表中 问题是 我不知道如何添加CASCADE
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失
  • 连接多个表中的多行

    我已经评论过many https stackoverflow com questions 273238 how to use group by to concatenate strings in sql server other https
  • 如何使用 SQL 语法更改主键约束?

    我有一个表 其主键约束中缺少一列 我不想通过 SQL Server 对其进行编辑 而是想将其放入脚本中以将其添加为更新脚本的一部分 我可以使用什么语法来执行此操作 我必须删除并重新创建关键约束吗 是的 唯一的方法是使用 Alter 表删除约
  • SQL Server 2008:TOP 10 和不同的一起

    正如标题所示 我正在使用 SQL Server 2008 如果这个问题非常基本 我深表歉意 我才使用 SQL 几天 现在我有以下查询 SELECT TOP 10 p id pl nm pl val pl txt val from dm la
  • 如何让SqlDataReader获取time(7)类型变量?

    我有一个像这样的 SQL Server 表 userID int xCoordinate int yCoordinate int recordTime time 7 itemId int 我想获取给定用户的所有录制时间 现在假设为用户 1
  • 为什么使用 SQL Server Express 添加的记录未显示在 SQL Server Management Studio 中?

    我正在测试大量的数字音乐文件记录 我的添加例程是 foreach AlbumModel albumModel in albs try Album album GetAlbum albumModel cmd CommandText inser
  • 以另一个用户身份执行存储过程

    我遇到以下问题 有一个用户 A 谁必须执行存储过程 spTest In spTest的身体 sp trace generateevent叫做 问题是sp trace generateevent需要更改跟踪权限 并且我不希望用户A拥有这些权限

随机推荐

  • 选择 PySpark 数据框中的列

    我正在寻找一种在 PySpark 中选择数据帧列的方法 对于第一行 我知道我可以使用df first 但不确定列是否存在没有列名 我有 5 列 想循环浏览每一列 1 2 3 4 5 6 7 1 0 0 0 0 0 0 1 0 0 0 0 0
  • 从该函数内部确定函数名称(不使用回溯)

    在Python中 不使用traceback模块 有没有办法从该函数内确定该函数的名称 假设我有一个模块foo有一个函数bar 执行时foo bar 有没有办法bar知道bar的名字 或者更好的是 foo bar s name foo py
  • 使用 rxjs 来限制回调

    我正在使用一个 API 在其中注册一个经常发生的回调 function myCallback event do things with event something computationally intensive const some
  • 在 google chrome 上选择网络摄像头

    当您有多个网络摄像头时 您可以在 chrome 上选择网络摄像头 设置 gt 内容 gt 媒体 但是 我想从脚本中选择相机 如何通过 Html5 或 javascript 选择相机 Check 这是巨大的代码 所以我没有将其粘贴到这里 这是
  • 在 JQGrid 中创建链接

    我需要在 JQgrid 中创建一个列的所有单元格 一个链接 该链接使用单元格值调用 javascript 函数 以传递给服务器端的某些查询 我见过jqGrid 中的 html 链接列 https stackoverflow com ques
  • C# Console.Writeline 和 .Write 差异

    我刚刚开始学习 C 有人向我指出 Microsoft 自己的开发网站提供绝对的初学者教程 以便我可以开始学习正确的语法 然而 在第一个教程挑战中 他们希望你打印控制台 This is the first line This is the s
  • 非常简单的自定义标签库功能不起作用

    我正在绞尽脑汁为什么我的自定义 taglib 函数不起作用 该示例正在使用Math cos and Math sin 这是课程 package foo tags public class Math public java lang Doub
  • 范围输入拇指随着时间的推移而偏移

    我查遍了 Stackoverflow 似乎所有带有拇指标签的范围滑块都有这个问题 例如 这个答案 https stackoverflow com a 35419875几乎没有 但仍然有 基本上你可以计算value max得到left范围值标
  • 自定义标记在某些设备上不显示(Google 地图 Android SDK)

    我在 Android 应用程序上使用自定义标记运行 Google Maps SDK 在我们的测试手机 S3 S5 和 DROID 上一切正常 但是 当我在 Nexus 5 硬件上运行该应用程序时 一种类型的自定义标记不再显示在地图上 虽然标
  • Microsoft Visual Studio 10.0\VC\include\io.h 提供了什么?

    我安装了 Visual Studio 2010 它给了我 C 编译器 C Program Files x86 Microsoft Visual Studio 10 0 VC vcvarsall bat 然而 当我尝试构建一个应用程序 一个P
  • AVR C++ uint32_t 奇怪的行为

    uint32 t a 65536 uint32 t b 1 lt lt 16 Why is a b在这里 但是 uint32 t a 65536 uint32 t b 65536 here a b尽管技术上应该是相同的 我使用 CLion
  • Play 框架使用复选框提交布尔值?

    使用 Play 2 3 x 我试图了解如何在表单中处理复选框 这个问题 https stackoverflow com questions 9499279 play framework checkbox processing对于旧版本的 P
  • 从 GCM/FCM 的生产证书添加 SHA-1

    我有一个使用 FCM 的应用程序 我已将程序包添加到 FCM 它显示 调试签名证书 SHA 1 可选 因此一切按预期工作 现在我正在准备发布 想知道我是否需要将此 SHA 1 证书更改为发布证书中的值 或者它不是必需的 并且在发布时我应该保
  • 未调用NotificationServiceExtension

    iOS 10发布后 我使用NotificationServiceExtension用于图像通知 效果很好 但最近我发现有些不对劲 UNNotificationServiceExtension 中的代码不再调用 我不确定原因 所以我创建了一个
  • JavaFx 无法正确渲染

    我的代码由两个类组成 一是 MainGUI java 二是 Screen java 我打算为不同的屏幕创建不同的类并在需要时渲染它们 这是我当前的代码MainGUI java import javafx application Applic
  • RSpec:重新打开类时存根 Rails.application.config 值不起作用?

    我在应用程序配置中定义了一个选项 我想要测试的类是在 gem 中定义的 不是我编写的 我想重新开课 Myclass class eval do if Rails application config myoption value1 some
  • 如何在reactjs中动态加载组件?

    我正在开发一个 Reactjs React motion 项目 在 模态窗口 比方说 中 我想动态安装或加载组件 如果可能的话 到目前为止我的解决方案 我找不到一种方法 所以看起来更容易将组件放置到位并隐藏它 然后在状态更改时切换类或样式
  • 如何将参数传递给 Flash 投影仪 (Windows)?

    有什么方法可以将命令行参数传递到 Windows 中的 Flash 投影仪吗 我有另一个应用程序 在本例中为安装程序 需要与 Flash 投影仪通信 与 flashvars 的工作方式相同 我无法在网上找到任何信息 一切似乎都集中在使用 F
  • Git 更新文件时更改默认 umask

    我的 Git 有问题 我在 Google 和 StackOverflow 中搜索了解决方案 但没有任何帮助 问题是 每次 git 更新工作目录中的某些文件时 当我签出分支或合并分支等时 文件权限都会更改 以便添加 可写到组 标志 如果该文件
  • SQL Case 语句会失败吗?

    有没有办法让 SQL 中的 CASE 语句像 C 中的 case 语句一样失败 我不想做的是下面的例子 但如果这是我唯一的选择 我想我会选择它 EXAMPLE NewValue CASE WHEN MyValue 1 THEN CAST M