我试图使用梯形规则在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吗?
我有一个商店程序,我计划用于搜索并获取所有值.
场景:
如果传递的参数是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子句,以获得所需的输出?
我正在使用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问题,这可能是一些基本的,但令我感到困惑.
以下是表'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那样做
我想将结果限制为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);
}
我正在编写网站的状态项,并且需要加载比包含日期时间的变量更早的状态.
所以数据库有一个名为添加日期的字段,这是一个日期时间字段,我有一个日期时间格式的字符串,我想选择比我的日期时间格式字符串更早的所有行.
如何在MYSQL中构建它?
提前致谢.
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)
但我想知道是否有更好的方法来做到这一点。
我有一个课程表,我需要根据搜索框中输入的关键字进行搜索.这是一个示例查询:
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我怎么能这样做?
提前致谢.
我有一个递归查询,如果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) 我有一个问题:
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],但是想不出办法来解决这个问题.
这甚至可能吗?
where-clause ×10
sql ×4
sql-server ×3
mysql ×2
alias ×1
android ×1
arrays ×1
datetime ×1
haskell ×1
if-statement ×1
lambda ×1
linq ×1
numpy ×1
postgresql ×1
python ×1
sql-like ×1
sql-update ×1
sqlite ×1