问题标签 [case-when]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 从 C# (T-SQL) 切换 CASE 时执行存储过程的异常
我在表中有一个 NVARCHAR(max) 列和一个存储过程,它将使用 CASE 切换更新此列以及表中的任何其他列:
如果我从 SQL Management Studio 执行此过程,一切都很好
我也可以使用相同的存储过程从 C# 代码更新 TableName,但是当从 C# 更新这个 BigNvarcharValue 时,它会失败并出现 SQLException ,即“字符串或二进制数据将被截断”。现在,我认为它与此存储过程中的 CASE 有关,因为当我将其分解为更简单的存储过程时,一切正常:
我阅读了一堆论坛帖子,这些帖子描述了尝试将更大的值插入 NVARCHAR 列的问题,这会导致此异常,但它似乎并不适用。
我对 T-SQL 相当陌生,那么 CASE 有什么我不知道的限制吗?
PS BigNvarcharValue 是 NVARCHAR(MAX) 并且 TableName 是 NVARCHAR(50)
hibernate - Hibernate/HQL/JPQL:CASE WHEN ... THEN NULL ELSE ... END (ClassCastException) 有什么问题?
我在 SELECT 中有以下 JPQL/HQL 片段
找出最高分和最低分。如果 (scf) 或对局的得分是 20 或 0,那么这是一场具有特殊结果的游戏,对于 MIN 和 MAX 将被忽略。
Hibernate 抛出异常:
怎么了?是我的代码吗?休眠错误?
问题似乎是 Hibernate 无法在 THEN 中处理 NULL:没有聚合函数的“CASE WHEN scf.finalScore IN (0, 20) THEN NULL ELSE scf.finalScore END AS playscore”仍然抛出相同的异常。那么,这是一个 Hibernate 错误吗?
sql - case-when-value-between things-formula 的问题
我有一个案例,我有 4 个符号长的产品代码。然后在某些情况下,产品基本相同,没有第一个符号,例如一个产品代码是 7456,另一个是 8456,这些产品仍然具有相同的功能。所以唯一的区别是第一个符号和来自 rigth 的三个符号保持不变。
我的问题是我想比较两个数据表,在第一个表中可以使用代码 7456,在第二个表中可以使用代码 8456。我想将这两个数据组合在一起,但我不知道如何判断SQL 如果代码以 7 或 8 开头,则使用最后三个符号。
我认为当值在 7000-8999 之间然后使用 3 正确时,可能的解决方案是某种情况,但我无法让这段代码工作?有人可以为我解决吗???谢谢!
hibernate - JPQL:CASE WHEN 中的布尔表达式何时需要与 TRUE/FALSE 进行显式比较?
我试过以下方法:
最后一行很重要。根据
JPQL/HQL 和 JPA/Hibernate:选择构造函数表达式中的布尔表达式不起作用(意外的 AST 节点:AND、NPE、HqlSqlWalker.setAlias)?
需要的情况。但是,在运行此程序时,Hibernate 失败并出现
JPA/Hibernate 的语法显然不支持它,但作为 Java 和 DB 程序员,我希望这样的表达式能够工作,比如 if ( hasHitHard ) ... 和/或 SELECT was_withdrawn...
为什么它是这样制作的,或者为什么不像我预期的那样支持它?
sql-server - SQL Server Group by with WHEN 子句
group by 子句中的错误 :: 我想让记录在 MS sql 中唯一。这里我使用了 2-3 个表 join 和 when 子句。通过使用 group by 子句来区分它会更困难,它会给出错误,例如..
sql - 如何使用 CASE/WHEN 对 SQL 中的范围值进行分类?如果不可能,还有其他选择吗?
基本上我希望能够将选择的列分类为不同的范围,如下所示:如果范围 > 大于 0,则返回列的值。如果范围 < 小于 0,则返回“过期”。这是代码:
我想更改以下语句:
到以下:
或类似的东西,是否有任何关键字/功能可以让我这样做?
mysql - 如何在 mysql 存储过程中使用 case-when 语句?
我想使用 request_time 参数自动设置 session_id,所以我选择了一个包含 case 语句的 mysql 存储过程。这里去。
但是,在 // 之后输入时出现 1064 错误。我检查了 mysql 文档,我认为大小写语法是正确的。
请帮忙。
sql - 如何在oracle中使用带有if条件的select?
我的要求是从复杂查询中获取一个数字并检查 num = desiredNum。
如果它等于desiredNum,那么我必须执行另一组select语句,
有什么方法可以在查询中实现这一点而不是编写函数?
例如:
这可能吗 ??
sql - SQL Server 中的 CASE 语句不支持 OR
不支持语句子句中的OR
运算符。我怎样才能做到这一点?WHEN
CASE
performance - Sybase高手求助:groupby聚合性能问题
嘿,我有以下表格和 SQL:
T1:ID、col2、col3 - PK(ID) - 2300 万行
T2:ID、col2、col3 - PK(ID) - 2300 万行
T3: ID, name,value - PK(ID,name) -66mil 行
1)下面的 sql 非常快地返回 10k 行结果集,没有问题。
2)下面的sql永远。
这两个查询之间的显示计划的唯一区别是查询 2)。我不理解它 100%,它是在临时表中选择没有前 10000 个的整个结果集然后对其进行分组吗?这就是它慢的原因吗?
我的问题是
1) 为什么查询 2) 这么慢
2)如何在保持查询逻辑相同的同时进行修复,最好像以前一样将其限制为 1 选择 SQL。
谢谢你