标签: where-clause

Haskell:where子句引用lambda中的绑定变量

我试图使用梯形规则在Haskell中数字地集成一个函数,返回一个反导数,它带有参数a,b,用于集成区间的端点.

integrate :: (Float -> Float) -> (Float -> Float -> Float)

integrate f
  = \ a b -> d * sum [ f (a + d*k) | k <- [0..n] ] - d/2.0 * (f a + f b)
    where
      d = (b - a) / n
      n = 1000
Run Code Online (Sandbox Code Playgroud)

在上面,我用

n - for the number of subintervals
d - for the width of each subinterval
Run Code Online (Sandbox Code Playgroud)

除了lambda中绑定的参数a,b之外,这几乎可以正常工作.我收到错误消息:

Not in scope: `b'
Not in scope: `a'
Run Code Online (Sandbox Code Playgroud)

我可以理解a,b的范围仅限于lambda表达式,但是在Haskell中有一个解决方法,所以我不必在上面的每次出现时写(ba)/ n吗?

lambda haskell where-clause

13
推荐指数
2
解决办法
3699
查看次数

SQL中的WHERE子句中的LIKE和NULL

我有一个商店程序,我计划用于搜索并获取所有值.

场景: 如果传递的参数是NULL它应该返回表的所有值,如果传递的参数不是,NULL它应该根据LIKE中的条件返回值.

//查询:

ALTER procedure [dbo].[usp_GetAllCustomerDetails]
(
@Keyword nvarchar(20) =  null
)
As
Begin

Select CustomerId,CustomerName,CustomerTypeName,CustomerCode,CategoryName,CustomerMobile,CustomerEmail,CustomerAddress,CustomerCity,CustomerState,Pincode
from tblCustomerMaster CM
inner join dbo.tblCustomerTypeMaster CTM on CTM.CustomerTypeId = CM.CustomerType
inner join dbo.tblCategoryMaster CCM on CCM.CategoryId= CM.CustomerCategory
where CustomerName like '%'+@Keyword+'%' 
Run Code Online (Sandbox Code Playgroud)

在上面的查询,当我执行,因为没有返回值NULL被假定为string通过SQL,所以我应该怎么了在写where子句,以获得所需的输出?

sql sql-server where-clause sql-server-2008 sql-like

13
推荐指数
1
解决办法
3万
查看次数

根据别名列名进行过滤

我正在使用SqlServer 2005,我有一个我命名的列.

查询类似于:

SELECT id, CASE WHEN <snip extensive column definition> END AS myAlias
FROM myTable
WHERE myAlias IS NOT NULL
Run Code Online (Sandbox Code Playgroud)

但是,这给了我错误:

"无效的列名'myAlias'."

有办法解决这个问题吗?在过去,我已经在WHERE或HAVING部分中包含了列定义,但那些大部分都是简单的,IE COUNT(*)或其他.我可以在这个ad-hoc查询中包含整个列定义,但如果由于某种原因我需要在生产查询中执行此操作,我宁愿只使用一次列定义,因此我不必更新两者(和忘记在某个时候做一个)

sql sql-server alias sql-server-2005 where-clause

12
推荐指数
2
解决办法
2万
查看次数

SQL:如果该值为null,如何更新列上的值?

我有一个SQL问题,这可能是一些基本的,但令我感到困惑.

以下是表'Person'的列名称示例:PersonalID,FirstName,LastName,Car,HairColour,FavDrink,FavFood

假设我输入了一行:

121312,Rayna,Pieterson,BMW123d,Brown,NULL,NULL

现在我想更新此人的值,但仅当新值不为null时,更新:

121312,Rayna,Pieterson,NULL,Blonde,Fanta,NULL

新行必须是:

121312,Rayna,Pieterson,BMW123d,Blonde,Fanta,NULL

所以我想的是:

更新人(PersonalID,名字,姓氏,租车,染发,FavDrink,FavFood)设置汽车= @Car(其中@Car不为空),染发= @HairColour(其中@HairColour ...)...等等.

我唯一担心的是我无法在查询结束时对所有条件进行分组,因为它将要求所有值具有相同的条件.如果@HairColour不是Null,我不能像Update HairColour那样做

mysql sql sql-server where-clause sql-update

12
推荐指数
2
解决办法
4万
查看次数

如何在android上的Query中添加WHERE子句

我想将结果限制为KEY_HOMEID等于journalId的结果.我已经在这几天了,任何帮助将不胜感激.

public Cursor fetchAllNotes(String journalId) { return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_HEIGHT, KEY_BODY, KEY_HOMEID},"FROM DATABASE_TABLE WHERE KEY_HOMEID = journalId",null, null, null, null,null); }

sqlite android where-clause

12
推荐指数
2
解决办法
4万
查看次数

MYSQL选择日期早于datetime的行

我正在编写网站的状态项,并且需要加载比包含日期时间的变量更早的状态.

所以数据库有一个名为添加日期的字段,这是一个日期时间字段,我有一个日期时间格式的字符串,我想选择比我的日期时间格式字符串更早的所有行.

如何在MYSQL中构建它?

提前致谢.

mysql datetime where-clause

12
推荐指数
2
解决办法
4万
查看次数

相当于 np.where 的“case”

np.where 允许您选择要为布尔类型查询分配的值,例如

test = [0,1,2]
np.where(test==0,'True','False')
print test
['True','False','False']
Run Code Online (Sandbox Code Playgroud)

这基本上是一个“if”语句。对于 numpy 数组,是否有一种Python式的方法来使用“if,else if,else”类型的语句(具有不同的情况)?

这是我的解决方法:

color = [0,1,2]
color = np.where(color==0,'red',color)
color = np.where(color==1,'blue',color)
color = np.where(color==2,'green',color)
print color
['red','blue','green']
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法来做到这一点。

python if-statement numpy where-clause

12
推荐指数
2
解决办法
1万
查看次数

LINQ multiple where子句

我有一个课程表,我需要根据搜索框中输入的关键字进行搜索.这是一个示例查询:

SELECT * FROM Courses WHERE 
Title LIKE '%word%' OR Title LIKE '%excel%' OR 
Contents LIKE '%word%' OR Contents LIKE '%excel%'
Run Code Online (Sandbox Code Playgroud)

如何在LINQ中转换它,LINQ将根据每个关键字动态生成WHERE语句.

我尝试使用PredicateBuilder,只要字段为VARCHAR就可以正常工作.对于"TEXT"字段,不生成引号,从而导致编译器给出错误消息.这是PredicateBuilder生成的SQL

SELECT [t0].[CoursesID], [t0].[Title], [t0].[Contents], [t0].[Active], 
FROM [dbo].[Courses] AS [t0]
WHERE ([t0].[Title] LIKE '%word%') OR ([t0].[Contents] LIKE %word%) OR 
([t0].Title] LIKE '%excel%') OR ([t0].[Contents] LIKE %excel%)
Run Code Online (Sandbox Code Playgroud)

请注意,"内容"字段没有单引号,这是数据库中的文本字段.

有没有简单的方法来构建WHERE语句并使用查询附加它?有没有人知道如果没有PredicateBuilder我怎么能这样做?

提前致谢.

linq where-clause

11
推荐指数
1
解决办法
2万
查看次数

如果在WHERE子句中,常量被参数替换(具有相同的值),为什么查询会大幅减慢?

我有一个递归查询,如果WHERE子句包含常量,则执行速度非常快,但如果我用具有相同值的参数替换常量,则会变得非常慢.

查询#1 - 使用常量

;WITH Hierarchy (Id, ParentId, Data, Depth)
AS
( SELECT Id, ParentId, NULL AS Data, 0 AS Depth
  FROM Test
  UNION ALL
  SELECT h.Id, t.ParentId, COALESCE(h.Data, t.Data), Depth + 1 AS Depth
  FROM Hierarchy h
       INNER JOIN Test t ON t.Id = h.ParentId
)
SELECT *
FROM Hierarchy
WHERE Id = 69
Run Code Online (Sandbox Code Playgroud)

查询#2 - 带参数

DECLARE @Id INT
SELECT @Id = 69

;WITH Hierarchy (Id, ParentId, Data, Depth)
AS
( SELECT Id, ParentId, NULL AS …
Run Code Online (Sandbox Code Playgroud)

sql where-clause sql-server-2008

11
推荐指数
1
解决办法
9311
查看次数

在WHERE子句中进行Postgres数组查找

我有一个问题:

SELECT bar, (SELECT name FROM names WHERE value = bar) as name
FROM foobar WHERE foo = 1 and bar = ANY (1,2,3)
Run Code Online (Sandbox Code Playgroud)

我的问题是,当表中没有包含任何行bar = 3(或者请求的任何其他值)时foobar,不会为该值的bar返回任何行.

我希望我的查询返回一行[bar, NULL],但是想不出办法来解决这个问题.

这甚至可能吗?

arrays postgresql where-clause

11
推荐指数
1
解决办法
3万
查看次数