我在DB2 v9.7和SQL LIKE运算符中发现了一个有趣的问题.看一下这个:
-- this works and returns one record
select 1
from SYSIBM.DUAL
where 'abc' like concat('a', 'bc')
-- this doesn't work
select 1
from SYSIBM.DUAL
where 'abc' like concat(cast('a' as varchar(2001)), cast('bc' as varchar(2000)))
-- It causes this error (from JDBC):
-- No authorized routine named "LIKE" of type "FUNCTION" having compatible
-- arguments was found.. SQLCODE=-440, SQLSTATE=42884, DRIVER=4.7.85
Run Code Online (Sandbox Code Playgroud)
我玩过各种长度,似乎只要长度加起来就会出现问题4000.如果我将整个连接字符串"截断"回长度4000,问题就会消失:
select 1
from SYSIBM.DUAL
where 'abc' like
cast(concat(cast('a' as varchar(2001)), cast('bc' as varchar(2000))) …Run Code Online (Sandbox Code Playgroud) 我有两个列表:
Genres
ID
genre
Run Code Online (Sandbox Code Playgroud)
和
Adjectives
ID
adjective_title
Run Code Online (Sandbox Code Playgroud)
我需要做一个select,它使用like语法从两个表列返回匹配值.
例如,如果ep是使用like结果输入的值,则如下所示:
result_column:
--------------
epiphonic -- (from genres table)
epic -- (from adjectives table)
Run Code Online (Sandbox Code Playgroud)
等等...
我很确定我需要使用子查询来返回结果.
我的表中有一个字段用于标记某些内容,用空格分隔,目前我正在使用:
SELECT * FROM content WHERE tags LIKE '%$selectedtag%'"
Run Code Online (Sandbox Code Playgroud)
但如果所选标签是大象,它将选择用bigelephant和elephantblah等标记的内容......
如何让它只是选择我想要的东西?
我想做这种查询:
create procedure something
@name varchar(13)
as
begin
select *
from WORKER
where NAME LIKE "%@name%"
end
Run Code Online (Sandbox Code Playgroud)
对于输入@name=ho,我想要输出包含NAME的每一行的声音ho,
例如HOuse,soHO,broHOw ......
我在我的DataSet中有这样的查询(数据库位于.mdf文件中):
SELECT *
FROM TableName
WHERE SomeField LIKE @Param
Run Code Online (Sandbox Code Playgroud)
表TableName中含有记录????????在SomeField外地.
当@Param是???????%它的作品完美,但如果@Param是??????%或?????%,它返回0行.?????%%%也有效.
为什么'%'可以作为单字符通配符使用?
我有一个原始的SQL查询,它总是在执行时给出错误.这是我的查询
Users.objects.raw('select target, username from users where location like \'%s%%\' and date(modified) = \'2011-06-14\'',[location])
Run Code Online (Sandbox Code Playgroud)
我正在接受 location = 'BUILD'
位置值为"BUILD_A","BUILD_B","BUILD_C".
当我执行原始sql时,下面是我得到的错误.
DatabaseError:(1064,"您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'BUILD'%'和date(modified)='2011-06-14'附近使用正确的语法'在第1行")
在MySQL术语中,我需要执行以下查询:
Select target, username from users where location like 'BUILD%' and target = '2011-06-14'
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索但无法得到它.请有人帮助我
我只是觉得如果这2个查询会有很大的性能差异
SELECT
`items_id`, `sport_id`, `sport`, `title`, `url`,
`Select3`, `Select6`, `id`, `data`,`image` as image,
concat('index.php?option=sports&item=',`items_id`,'&p=C108-M108') as count_url
FROM
qy9zh_dataitems
WHERE Select6 LIKE '%sport%'
ORDER BY `Select9` DESC LIMIT 0, 4
SELECT
`items_id`, `sport_id`, `sport`, `title`, `url`,
`Select3`, `Select6`, `id`, `data`,`image` as image,
concat('index.php?option=sports&item=',`items_id`,'&p=C108-M108') as count_url
FROM
qy9zh_dataitems
WHERE Select6 in ('sport')
ORDER BY `Select9` DESC LIMIT 0, 4
Run Code Online (Sandbox Code Playgroud)
查询工作得很好..他们两个..只是担心性能:)
编辑:当我做一些测试时,一个奇怪的事情是:
SELECT * FROM qy9zh_dataitems WHERE Select6 in ('kvinna') LIMIT 0, 40000
Run Code Online (Sandbox Code Playgroud)
共计29,051次,查询耗时0.2581秒
SELECT * FROM qy9zh_dataitems WHERE Select6 LIKE ('%kvinna%') LIMIT …Run Code Online (Sandbox Code Playgroud) 来自维基百科:
页表查找可能由于两个原因而失败。第一个是如果没有可用于虚拟地址的转换,则意味着虚拟地址无效。
此外,如果每个进程都有自己的页表,这意味着页表中的条目都会有一些从虚拟地址到物理地址的转换。那么页表条目无效是什么意思呢?如果条目存在,则意味着转换存在,因为条目只不过是从虚拟地址到物理地址的映射。
尝试使用下面的cli命令创建一个cloudformation堆栈时出现以下错误.
aws cloudformation create-stack --stack-name subodh-local-stack --template-url s3URL/template.json --parameters s3URL/params.json
Run Code Online (Sandbox Code Playgroud)
错误:awscli.argprocess.ParamError:解析参数'--parameters'时出错:无法检索https://s3.amazonaws.com/ //params.json:收到非200状态代码403 2017-08-18 01: 32:31,309 - MainThread - awscli.clidriver - DEBUG - 以rc 255退出
template.json:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"Type": "AWS::Lambda::Function",
"Properties": {
"FunctionName": {
"Ref": "LambdaFunctionName"
},
"Handler": {
"Ref": "LambdaHandler"
},
"Role": {
"Ref": "LambdaExecutionRoleArn"
},
"Code": {
"S3Bucket": {
"Ref": "LambdaSourceBucket"
},
"S3Key": {
"Ref": "LambdaSourceKey"
}
},
"SubnetID": {
"Ref": "LambdaSubnetID"
},
"Runtime": "nodejs4.3",
"Timeout": "25",
"MemorySize": "128",
"VpcConfig": "vpc-2323454f",
"securityGroupID": "sg-0sdfs17g"
} …Run Code Online (Sandbox Code Playgroud) 我有一个相当大xr.Dataset的大约 20 个数据变量。我只对保留其中两个感兴趣。我看到xr.Dataset.drop数据集的 drop 变量。
我正在寻找保持变量的语法。我试过f['hs','t01']了
回溯(最近一次调用):文件“/nethome/rxb826/local/bin/miniconda3/lib/python3.6/site-packages/xarray/core/dataset.py”,第 662 行,_construct_dataarray 变量 = self._variables [名称] KeyError: ('hs', 't01')
如果没有简单的语法,我可以看看开发 xr.Dataset.keep
我也可以笨拙地手动创建数据集
ds = xr.Dataset({'hs': f['hs'], 't01': f['t01']})