我正在使用mysql,我有一个存储过程,它有一个输入变量.
我想在select语句中使用这个变量(使用like子句).
例如:
DELIMITER $$
DROP PROCEDURE IF EXISTS `DeleteDataByTransactionID` $$
CREATE DEFINER=`root`@`%` PROCEDURE `DeleteDataByTransactionID`(in **$TransactionID** varchar(50))
BEGIN
delete from sqlstatements where tempsql like '%'+ **$TransactionID** + '%';
END $$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
谢谢
我想从C_Table哪里选择Name='John'并使用like运算符.例如,
select Name from C_Table where Name='John' AND where Details like %Boy%
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
(Table name is C_Table)
-----------------------------------------------
Name | P_No | C_No | Details |
-----------------------------------------------
John | 001 | 001 | Good Boy |
John | 002 | 002 | Naughty Boy |
John | 003 | 003 | Very Bad Boy |
Mary | 004 | 004 | Beautiful Girl |
Mary | 005 | 005 | Pretty Girl |
Mary …Run Code Online (Sandbox Code Playgroud) 我有一个NHibernate搜索函数,我接收整数并希望返回结果,其中至少开始与整数重合,例如
收到整数:729
返回:729445,7291等
数据库列的类型为int,Foo的属性"Id"也是如此.
但
int id = 729;
var criteria = session.CreateCriteria(typeof(Foo))
criteria.Add(NHibernate.Criterion.Expression.InsensitiveLike("Id", id.ToString() + "%"));
return criteria.List<Foo>();
Run Code Online (Sandbox Code Playgroud)
确实导致错误(无法将参数字符串转换为int32).代码,解决方法或其他解决方案是否有问题?
在表格中,tags我有了这个领域id.在表中,tastings我有一个字段tags,例如,用逗号分隔的id号列表2,4,5.数据库是MySQL.
现在我想计算每个标签总共使用了多少次.但我被LIKE部分困住了.我尝试了以下方法,都给出了语法错误:
SELECT tags.id, tag, FROM tags, tastings WHERE tags LIKE tags.id + '%'
SELECT tags.id, tag, FROM tags, tastings WHERE tags LIKE tags.id & '%'
SELECT tags.id, tag, FROM tags, tastings WHERE tags LIKE CONCAT(tags.id, '%')
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一个文本字段,它采用全名示例:迈克尔彼得约翰逊在我的表中我有三列firstName,middlename和lastname我写了这个查询,但它返回空
SELECT firstName,middleName,lastName
FROM staff
WHERE firstName LIKE "%michael peter johnson%"
OR middleName LIKE "%michael peter johnson%"
OR lastName LIKE "%michael peter johnson%"
Run Code Online (Sandbox Code Playgroud)
如果用户输入儿子它应该显示迈克尔彼得约翰逊,因为儿子包含在约翰逊.
谢谢我的表:firstName有(michael)middleName有(彼得)lastName(约翰逊)
我接管了一个使用LIKE查询来搜索分隔值字段的网站.典型字段可能如下所示:
129|145|181
Run Code Online (Sandbox Code Playgroud)
查询看起来像这样:
SELECT id,title FROM research WHERE members like '$arr[0]'
Run Code Online (Sandbox Code Playgroud)
问题在于,当搜索例如"29"时,它返回其中带有"129"的字段.我希望它只返回带有"29"的字段.有没有办法做到这一点?
谢谢,G
考虑这个TSQL:
declare @b varchar(100)
set @b = 'BANK-41'
IF @b LIKE 'BANK_%'
BEGIN
print 'Wrong Matching'
END
Run Code Online (Sandbox Code Playgroud)
为什么TSQL匹配字符串" BANK-"和" BANK_"?
我在表中有两行,其中包含"名称"列中的SAME信息(nvarchar(50),而不是null).
SELECT * FROM TableName WHERE ColumnName = 'ColumnValue'
Run Code Online (Sandbox Code Playgroud)
返回两行
SELECT * FROM TableName WHERE ColumnName LIKE 'ColumnValue'
Run Code Online (Sandbox Code Playgroud)
只返回一行
有没有人知道可能导致这种行为的原因是什么?
我想在搜索关键字时获得数据的json格式,所以我使用LIKE子句和这样的查询
"select * from employees where fname like ? or mname like ? or lname like ? or username like ? or id like ?", str, str, str, str, str
Run Code Online (Sandbox Code Playgroud)
但我想用rails编写代码.我的控制器中有这个代码
def showemployees
str = params[:str]
render json: @employee = Employee.where(Employee.employees[:fname].matches("%#{str}%")) or
(Employee.employees[:mname].matches("%#{str}%")) or
(Employee.employees[:lname].matches("%#{str}%")) or
(Employee.employees[:id].matches("%#{str}%"))
end
Run Code Online (Sandbox Code Playgroud)
这个代码在我的config/routes.rb中
get 'employees/showemployees'
root :to => 'employees#new'
resources :employees
post 'employees/update_info'
Run Code Online (Sandbox Code Playgroud)
当我输入这个,http:// localhost:3000/employees/showemployees?str = samplename,该记录的json格式应该出现但我收到此错误消息
undefined method `employees' for #<Class:0x8e38900>
app/controllers/employees_controller.rb:6:in `showemployees'
Run Code Online (Sandbox Code Playgroud)
第6行有此代码
render json: @employee = Employee.where(Employee.employees[:fname].matches("%#{str}%")) or
Run Code Online (Sandbox Code Playgroud) 在SQL Server中进行选择时,我可以在查询文本的开头或结尾添加%以表示我想要其他文本的任意数量的字符,但我不知道如何在中间执行此操作.
我想要SQL如下,
select *
From Table
Where name like '%[Error] Something failed in (%) session%'
Run Code Online (Sandbox Code Playgroud)
这与下面的数据运行时
Row | Date | Log Message
1 |2016-01-01 |'[Error] Something failed in (Freds) session'
2 |2016-01-01 |'[Error] Something failed in (Ilenes) session'
3 |2016-01-01 |'[Error] Something failed in (Freds) session'; Some other warning
4 |2016-01-01 |'[Warning] Something else went wrong'
5 |2016-01-01 |'[Warning] Some other warning'
Run Code Online (Sandbox Code Playgroud)
会给我的
Row |Date | Log Message
1 |2016-01-01 |'[Error] Something failed in (Freds) session'
2 |2016-01-01 |'[Error] …Run Code Online (Sandbox Code Playgroud)