有可能做一个
create table <mytable> as select <query statement>
运用
row format delimited fields terminated by '|';
Run Code Online (Sandbox Code Playgroud)
或做一个
create table <mytable> like <other_table> row format delimited fields terminated by '|';
语言手册似乎表明没有......但是我曾经在过去做过这件事.
我在PDO中实现LIKE时遇到问题
我有这个问题:
$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
$params = array($var1, $var2);
$stmt = $handle->prepare($query);
$stmt->execute($params);
Run Code Online (Sandbox Code Playgroud)
我检查了它们$var1,$var2它们包含了我想要搜索的单词,我的PDO工作正常,因为我的一些查询SELECT INSERT工作,这只是我LIKE在PDO中不熟悉的.
结果是没有返回.我$query的语法是否正确?
我试图使用Python的Sqlite库进行参数化LIKE查询,如下所示:
self.cursor.execute("select string from stringtable where string like '%?%' and type = ?", (searchstr,type))
Run Code Online (Sandbox Code Playgroud)
但是?没有评估通配符内部,但是我发现此错误:
"sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 2 supplied."
Run Code Online (Sandbox Code Playgroud)
我还尝试使用标记版本的查询:
like '%:searchstr%' 并在列表中 {"searchstr":searchstr...
但是,当我这样做时,查询运行但从不返回任何结果,即使手动"like '%a%'"...返回数百个结果应该
有什么建议吗?
我在使用%带有MySQL查询的通配符时遇到问题.
http://www.w3schools.com/sql/sql_like.asp
读完那篇文章后,我正在使用%而不是得到我所期待的.
我有一系列的价值观,比如
1_1
1_2
2_1
2_2... etc
Run Code Online (Sandbox Code Playgroud)
包含
11_1
11_2
Run Code Online (Sandbox Code Playgroud)
现在,在某些情况下,我想特别返回那些值= 11_2,或1_2等等.这很好
WHERE fieldName = '11_2'
Run Code Online (Sandbox Code Playgroud)
等...正如预期的那样
但是,在某些情况下,我想找到所有以a 1或所有项目开头的项目11
从w3Schools链接,我期待
WHERE fieldName LIKE '1_%'
Run Code Online (Sandbox Code Playgroud)
为了找到以1_特定方式开头的任何内容,因此,在我的示例中,返回:
1_1
1_2
Run Code Online (Sandbox Code Playgroud)
但是,它也会回来
11_1
11_2
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我怎么能过来呢?
我有一个SQL查询如下.
Select * from table
where name like '%' + search_criteria + '%'
Run Code Online (Sandbox Code Playgroud)
如果search_criteria ='abc',它将返回包含xxxabcxxxx哪个数据的数据.
但是如果我的search_criteria ='abc%',它仍将返回包含的数据xxxabcxxx,但不应该是这种情况.
我该如何处理这种情况?
如果你的目标是测试一个字符串是否存在于MySQL列('varchar','text','blob'等类型)中,以下哪个更快/更有效/更好使用,为什么?
或者,是否有其他方法超过其中任何一个?
INSTR( columnname, 'mystring' ) > 0
Run Code Online (Sandbox Code Playgroud)
VS
columnname LIKE '%mystring%'
Run Code Online (Sandbox Code Playgroud) 我有一个MySQL查询:
SELECT concat_ws(title,description) as concatenated HAVING concatenated LIKE '%SearchTerm%';
Run Code Online (Sandbox Code Playgroud)
我的表格使用MyISAM编码为utf8_general_ci.
搜索似乎区分大小写.
我无法弄清楚如何解决它.出了什么问题和/或我该如何解决?
我有一个列名称Address,其中包含一些地址,其中'%'位于:
Address
--------------------
Aman Ja%lan%
Stree% Ro%ad
Run Code Online (Sandbox Code Playgroud)
等等
如何编写LIKE运算符来查找该模式?
我试过了:
declare @var char(1)
set @var='!%'
select Address from Accomodation where Address like '%'+@var+'%'
Run Code Online (Sandbox Code Playgroud) 假设我们使用关键字执行搜索:keyword1,keyword2,keyword3
数据库中有"name"列的记录:
1: John Doe 2: Samuel Doe 3: John Smith 4: Anna Smith
现在查询:
SELECT * FROM users WHERE (name LIKE "%John%" OR name LIKE "%Doe%")
Run Code Online (Sandbox Code Playgroud)
它将选择记录:1,2,3(按此顺序),但我想在示例中按关键字排序,keyword1=John, keyword2=Doe
所以它应该按关键字列出:1,3,2(因为我想在之后搜索"Doe"寻找"约翰")
我在考虑SELECT DISTINCT FROM (...... UNION .....)
但是以某种方式以另一种方式订购它会更容易(真正的查询真的很长)
是否有任何技巧来创建这样的订单?
我正在尝试从表中选择数据,在日期字段"date_checked"(时间戳)上使用"like".但我有这个错误:
SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: timestamp without time zone
Run Code Online (Sandbox Code Playgroud)
我的要求是:
SELECT my_table.id
FROM my_table
WHERE my_table.date_checker LIKE '2011-01-%'
Run Code Online (Sandbox Code Playgroud)
我不想用:
SELECT my_table.id
FROM my_table
WHERE my_table.date_checker >= '2011-01-01 00:00:00'
AND my_table.date_checker < '2011-02-01 00:00:00'
Run Code Online (Sandbox Code Playgroud) sql-like ×10
mysql ×5
sql ×3
sql-server ×2
create-table ×1
hive ×1
pdo ×1
php ×1
postgresql ×1
python ×1
sql-order-by ×1
sqlite ×1
t-sql ×1
timestamp ×1