标签: sql-like

如何在参数中使用"Like"

我想使用参数在我们的日志表中的字段中搜索嵌入字符串中的数字.

从vwLogs中选择*,其中log_time> '02/24/2009'和消息('%2009022508241446%')

我知道当where子句是等号时如何使用参数但不知道怎么用'Like'来做

这似乎不对

 WHERE message like ('%@ErrorMessage%')
Run Code Online (Sandbox Code Playgroud)

我刚试过这个并没有用.唯一新的是消息搜索部分

protected void btnRunQuery_Click(object sender, EventArgs e)
    {
        string strConn, strSQL;
        strConn = @";";
        strSQL = @"SELECT * FROM weblogs.dbo.vwlogs WHERE Log_time >= @BeginDate AND Log_Time < @EndDate AND (client_user=@UserName OR @UserName IS NULL) AND (message like '%' + @ErrorNumber + '%' OR @ErrorNumber IS NULL) ORDER BY Log_time DESC";

        using (SqlConnection cn = new SqlConnection(strConn))
        {
            SqlCommand cmd = new SqlCommand(strSQL, cn);


            cmd.Parameters.AddWithValue("@UserName", txtUserName.Text);
            cmd.Parameters.AddWithValue("@ErrorNumber", txtErrorNumber.Text);

            cmd.Parameters.Add("@BeginDate", SqlDbType.DateTime).Value =
                DateTime.Parse(txtBeginDate.Text).Date; …
Run Code Online (Sandbox Code Playgroud)

sql asp.net parameters sql-like

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

具有$ variable的LIKE运算符

这是我的第一个问题,我希望它很简单,快速回答!

基本上,我有以下代码:

$variable = curPageURL();
$query = 'SELECT * FROM `tablename` WHERE `columnname` LIKE '$variable' ;
Run Code Online (Sandbox Code Playgroud)

如果我回显$变量,它会打印当前页面的url(这是我页面上的javascript)

最终,我想要的是能够搜索搜索术语是当前页面的URL,并使用前面和后面的通配符.我不确定这是否可行,或者我是否只是语法错误,因为我没有错误,根本没有结果!

我试过了 :

    $query = 'SELECT * FROM `tablename` WHERE `columnname` LIKE '"echo $variable" ' ;
Run Code Online (Sandbox Code Playgroud)

但同样,我可能会错过或使用错位的";等等

请告诉我我做错了什么!

php sql variables sql-like

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

LIKE子句在SQL Server中不起作用

我有一个表在SQL Server 2005中具有以下列:

DocID   NSN  QTY
-----------------
DHA12    32    5
DSRB23   22   45
TF22     70   23
Run Code Online (Sandbox Code Playgroud)

每当我执行以下查询以获取所有具有以DSRB或DHA开头的DocId的NSN时,它都会给我空集:

SELECT  DocId, NSN, Qty, RequestDate, ReceiveDate
  FROM  Orders 
 WHERE (DocID LIKE '%DSRB%') 
   AND (DocID LIKE '%DHA%')  
Run Code Online (Sandbox Code Playgroud)

我想有两个LIKE子句的问题,因为当我删除最后一个LIKE子句时,查询工作正常.

sql sql-server sql-server-2005 sql-like

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

如何在LIKE的Mysql中使用嵌套的SELECT?

假设这是我需要的查询:

SELECT * FROM `products` WHERE `keywords` LIKE "%(SELECT `key` FROM `keywords` WHERE `slug` = '%d8%af%db%8c%d9%88%d8%a7%d8%b1' LIMIT 1)%"
Run Code Online (Sandbox Code Playgroud)

目前它不起作用并且在满足条件的记录时返回零结果.
我想知道这里有什么问题?

mysql select sql-like

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

为什么我的Like查询被Toad喜欢但C#不喜欢?

如果我在Toad中运行此查询:

SELECT BANDID, BANDNAME
FROM WOODSTOCK
WHERE BANDNAME LIKE '%THE%'
Run Code Online (Sandbox Code Playgroud)

..它只是花花公子,并返回一堆行.但是,大概相当于代码:

const string sql = @"SELECT BANDID, BANDNAME
            FROM WOODSTOCK
            WHERE BANDNAME LIKE '%:BANDNAMEPORTION%'";
. . .
ocmd.Parameters.Add("BANDNAMEPORTION", BandNamePortion);
. . .
Run Code Online (Sandbox Code Playgroud)

...不返回任何记录.

c# sql oracle sql-like

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

如何匹配DB2上的文本结尾?

我已经在DB2上执行了查询:

SELECT * FROM MYTABLE WHERE MYFIELD LIKE '%B' 
Run Code Online (Sandbox Code Playgroud)

虽然我知道数据库中有以"B"结尾的记录,但查询没有返回任何结果.经过一些研究,似乎DB2没有识别出不以'%'结尾的LIKE表达式.所以以下查询将起作用:

SELECT * FROM MYTABLE WHERE MYFIELD LIKE '%B%' 
Run Code Online (Sandbox Code Playgroud)

但自然不如预期的那样,因为它只返回行,其中MYFIELD包含'B',但不会以它结尾.

如何绕过那个噱头,嗯,功能?如何在类似LIKE的表达式中匹配单词末尾的文本?

sql db2 sql-like

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

MySQL使用LIKE匹配部分字符串

我正在尝试创建一个MySQL查询,当提供邮政编码时,它将返回一行(或更多,但我只对单行感兴趣)区域建议.

所以,我有一张这样的桌子

area_id | postcode_start
1       | NE
2       | DL
3       | DL1
4       | DL2
5       | DL6
...
Run Code Online (Sandbox Code Playgroud)

我希望提供一个邮政编码,例如DL5 8TB,并1 | DL在第一个字符匹配时返回该行.

另一个例子DL6 4GH将返回两行,5 | DL62 | DL

SELECT *
    FROM (`area_postcodes`)
    WHERE CONCAT(LOWER(`area_postcodes`.`postcode_start`),'%')
        LIKE 'dl5 8tb';
Run Code Online (Sandbox Code Playgroud)

显然它是一个有效的查询,但它总是返回一个空集.

你会看到我已经将通配符添加%到了查询的另一端,但它似乎不起作用,我不知道在哪里甚至考虑猜测如何去做,它几乎就像是反向的正常MySQL LIKE查询.

mysql sql sql-like

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

是否有替代T-SQL中的LIKE语句?

我有一个场景,我需要执行以下操作:

SELECT *
FROM
[dbo].[MyTable]
WHERE
[Url] LIKE '%<some url>%';
Run Code Online (Sandbox Code Playgroud)

我必须在Url('%<some url>%')的开头和结尾使用两个%(通配符),因为用户应该能够搜索完整的URL,即使他键入了部分文本.例如,如果网址为http://www.google.co.in且用户输入"goo",则网址必须出现在搜索结果中.LIKE运营商正在导致性能问题.我需要一个替代方案,以便我可以摆脱这个声明和通配符.换句话说,我不想在这种情况下使用LIKE语句.我尝试使用T-SQL,CONTAINS但它没有解决我的问题.除了可以执行模式匹配并快速提供结果之外,还有其他可用选择吗?

sql t-sql sql-server contains sql-like

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

Laravel - 你如何选择在哪里?

如果我尝试WHERE email = ?它的工作,但如果我尝试下面的代码它不会.有任何想法吗?谢谢.

DB::connection('operator')->select("SELECT * FROM users WHERE email LIKE '%?%'", array('test'));
Run Code Online (Sandbox Code Playgroud)

这就是它的getQueryLog()样子.

  array(3) {
    ["query"]=>
    string(213) "SELECT * FROM users WHERE email LIKE '%?%'"
    ["bindings"]=>
    array(1) {
      [0]=>
      string(1) "test"
    }
    ["time"]=>
    float(1.45)
  }
Run Code Online (Sandbox Code Playgroud)

php select laravel sql-like

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

SQL Server:删除字符串值包含其他值的位置

我想从表中删除所有记录,其中选择的字符串值包含在另一个表中的另一个值中(忽略区分大小写).

例如:if value1="Hello"(来自一个表)和value2-"Hello word"(来自另一个表),那么该记录应该被删除.

DELETE FROM [table1] 
WHERE value1 LIKE  '%' + (SELECT value2 FROM [table2]) + '%'
Run Code Online (Sandbox Code Playgroud)

但是该SQL语句返回错误.

sql sql-server sql-in sql-delete sql-like

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