标签: sql-like

SQL查询帮助!! 我正在尝试选择不以数字开头的行

我的表中有10,001行,除了一行之外的所有行都以数字开头.我需要找到一个不以数字开头的行,或者甚至不包含数字的行.

所以这就是我所拥有的:

Select col1 from table1 where col1 not like '?%'
Run Code Online (Sandbox Code Playgroud)

这甚至接近了吗?我需要找到没有数字的行...

谢谢!!

更新:我使用的是sqlite数据库

sql sqlite sql-like

4
推荐指数
1
解决办法
3036
查看次数

SQL Server是否优化了LIKE('%%')查询?

我有一个存储过程来执行记录搜索.

问题是来自UI的一些搜索条件可能是空字符串.因此,当未指定条件时,LIKE语句变得多余.

我怎样才能有效地执行该搜索或Sql Server?或者,它是否优化了LIKE('%%')查询,因为它意味着没有可比较的内容?

存储过程是这样的:

ALTER PROC [FRA].[MCC_SEARCH]
@MCC_Code varchar(4),
@MCC_Desc nvarchar(50),
@Detail nvarchar(50)
AS
BEGIN             
       SELECT
             MCC_Code,
             MCC_Desc,
             CreateDate,
             CreatingUser

       FROM
              FRA.MCC (NOLOCK)
       WHERE
             MCC_Code LIKE ('%' + @MCC_Code + '%')
             AND MCC_Desc LIKE ('%' + @MCC_Desc + '%')
             AND Detail LIKE ('%' + @Detail + '%')
       ORDER BY MCC_Code

END
Run Code Online (Sandbox Code Playgroud)

sql sql-server search stored-procedures sql-like

4
推荐指数
1
解决办法
9505
查看次数

如何在sql table-column中搜索"%"

我有一个带有"备注"列的表...如何在此列中搜索"%"?

sql-server sql-like

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

如何编写LINQ IN子句查询,它也可以作为LIKE运算符使用?

我们如何为以下select sql查询编写LINQ查询:

string brandid="1,2,3"
string bodystyleid="1,2,3"
-------------------
-----------------

select * from car
where brandid in (brandid)
and bodystyleid in (brandid)
----------------------
-------------------
Run Code Online (Sandbox Code Playgroud)

我的具体要求是,如果brandid或bodystyleid为空(如果用户未选中特定搜索选项的任何复选框),则查询应返回该特定条件的所有记录.

请指导我.

谢谢,

保罗

linq linq-to-entities entity-framework in-clause sql-like

4
推荐指数
1
解决办法
7855
查看次数

返回第一个字符为非alpha的行

我正在尝试检索所有以SQlite中的任何非字母字符开头的列,但似乎无法使其正常工作.我目前有这个代码,但它返回每一行:

SELECT * FROM TestTable WHERE TestNames NOT LIKE '[A-z]%'
Run Code Online (Sandbox Code Playgroud)

有没有办法检索TestNames的第一个字符不属于字母表的所有行?

sql sqlite alphanumeric sql-like

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

使用 '?' SQL LIKE语句中的参数

初学者问题在这里......

我通过Excel中的Microsoft Query访问Firebird数据库.

我在Excel中有一个包含4位数字的参数字段.我的一个DB表有一个包含9位相位代码的列(TP.PHASE_CODE),我需要返回以指定为参数的4位数代码开头的9位数代码.

例如,如果我的参数字段包含'8000',我需要找到并返回LIKE'8000%'的另一个表/列中的任何阶段代码

我想知道如何在SQL中实现这一点,因为它看起来不像'?' 表示参数可以包含在LIKE语句中.(如果我用4位数字写,查询工作正常,但它不会让我在那里使用参数.)

有问题的陈述是这样的: TP.PHASE_CODE喜欢'?%'

这是我的完整代码:

SELECT C.COSTS_ID, C.AREA_ID, S.SUB_NUMBER, S.SUB_NAME, TP.PHASE_CODE, TP.PHASE_DESC,       TI.ITEM_NUMBER, TI.ITEM_DESC,TI.ORDER_UNIT,
C.UNIT_COST, TI.TLPE_ITEMS_ID FROM TLPE_ITEMS TI
INNER JOIN TLPE_PHASES TP ON TI.TLPE_PHASES_ID = TP.TLPE_PHASES_ID
LEFT OUTER JOIN COSTS C ON C.TLPE_ITEMS_ID = TI.TLPE_ITEMS_ID
LEFT OUTER JOIN AREA A ON C.AREA_ID = A.AREA_ID
LEFT OUTER JOIN SUPPLIER S ON C.SUB_NUMBER = S.SUB_NUMBER

WHERE (C.AREA_ID = 1 OR C.AREA_ID = ?) and S.SUB_NUMBER = ? and TI.ITEM_NUMBER = ? and **TP.PHASE_CODE like '?%'**

ORDER …
Run Code Online (Sandbox Code Playgroud)

sql parameters excel firebird sql-like

4
推荐指数
1
解决办法
6022
查看次数

在CONTAINS函数中使用JOIN语句

在SQL Server数据库中,我有一个带有很多INNER JOINs语句的View。最后一个联接使用LIKE谓词,这就是为什么它工作太慢的原因。查询看起来像:

SELECT *
FROM A INNER JOIN
B ON A.ID = B.ID INNER JOIN
C ON C.ID1 = B.ID1 INNER JOIN
...........................
X ON X.Name LIKE '%' + W.Name  + '%' AND
            LIKE '%' + W.Name2  + '%' AND
            LIKE '%' + W.Name3  + '%'
Run Code Online (Sandbox Code Playgroud)

我想使用CONTAINS代替LIKE:

SELECT *
FROM A INNER JOIN
B ON A.ID = B.ID INNER JOIN
C ON C.ID1 = B.ID1 INNER JOIN
...........................
X ON CONTAINS(X.Name, W.Name) AND
     CONTAINS(X.Name, W.Name2) AND
     CONTAINS(X.Name, W.Name3)
Run Code Online (Sandbox Code Playgroud)

我知道CONTAINS的运行速度比LIKE快,并且无法在JOIN语句中使用CONTAINS。在这种情况下或建议中有什么解决方法吗?提前致谢。

sql-server join contains sql-like

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

从一个表中选择id,从另一个表中选择其值进行搜索

我有两个名为company和的表customers.

company表中有3个字段ID,Company以及Type为:

ID    Company    Type
1     ABC        Running

2     XYZ        Current
Run Code Online (Sandbox Code Playgroud)

现在再次在customers表格中我提交了公司和客户的价值,但这里公司的价值提交ID为:

Company     Customer Name
1              monty

2             sandeep
Run Code Online (Sandbox Code Playgroud)

现在我想在客户表中搜索公司名称但是当我在搜索框中输入公司名称时它没有显示任何内容,因为公司名称的值在客户tabe中以ID形式显示.我可以实现它.

这是我的搜索查询:

$sql = "Select * from customers where name like '%$term%' or location like '%$term%' or company like '%$term%'";
Run Code Online (Sandbox Code Playgroud)

mysql select where sql-like

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

MySQL在将列与LIKE匹配之前组合列

我在数据库中有两个列,我希望在使用LIKEstatement 匹配之前将它们组合起来.

我的桌子:

|---------------------------------|
|   ID     |   PREFIX  |  SUFFIX  |
|---------------------------------|
|   1      |     31    |   523    |
|---------------------------------|
|   2      |     62    |   364    |
|---------------------------------|
Run Code Online (Sandbox Code Playgroud)

我希望能够提供315ID 1将被返回.这有什么简单的方法吗?目前我正在拆分搜索字符串并匹配单独的列.

谢谢.

mysql database sql-like

4
推荐指数
1
解决办法
53
查看次数

如果使用mysql匹配运算符值,如何从表中获取所有行?

我想,如果要获取所有记录运营商价值的匹配和为真.

我有桌票.

---------------------------
: id  :  ticket : user_id :
---------------------------
: 1   : 2546    : 2       :
---------------------------
: 2    : 8475    : 2      :
---------------------------
Run Code Online (Sandbox Code Playgroud)

我正在尝试这个查询

SELECT * FROM `ticket` WHERE `ticket` LIKE '%2546%'  
Run Code Online (Sandbox Code Playgroud)

以上查询返回单个结果并且工作正常.但我需要两行,如果运营商价值的匹配和表有该行的多个记录USER_ID.我试过分组

SELECT * FROM `ticket` WHERE `ticket` LIKE '%2546%' 
GROUP BY `user_id `
Run Code Online (Sandbox Code Playgroud)

我知道如果使用user_id = 2而不是likeGroup By运算符可以完成 ,但我需要按ticket列过滤.那么这可以在单个查询中实现这种任务吗?

mysql sql sql-like

4
推荐指数
1
解决办法
1703
查看次数