相关疑难解决方法(0)

如何在T-SQL中拆分字符串?

我有一个varchar @ a ='a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p',有| 划定的价值观.我想将此变量拆分为数组或表.有没有人对此有任何想法.

t-sql sql-server-2005

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

在SQL Server上逐字使用SOUNDEX()

这是我的问题.比如我有一个表的产品包含一个字段,名称:

Products
ID | Name | ..
1  | "USB Key 10Go"
2  | "Intel computer"
3  | "12 inches laptop computer"
...
Run Code Online (Sandbox Code Playgroud)

我目前正在为iPhone网络应用程序实现一个简单的搜索引擎(SQL Server和ASP .NET,C#),我想使用SOUNDEX()SQL Server功能.

问题是,我不能直接SOUNDEXName字段上使用.(这是无关紧要的,因为名称中有几个单词.)我想将该SOUNDEX函数应用于Name字段中的每个单词,然后查看它们是否与researched关键字匹配.

如果有人知道如何做到这一点,那将是非常棒的.

sql sql-server soundex

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

如何在sql中将字符串拆分为变量?

我有一个字符串,看起来BAT | CAT | RAT | MAT我想把这个字符串分成4个部分然后存储在4个不同的变量中分别说.. @ a,@ b,@ c,@ d.我在代码中执行此操作,但我不确定如何在sql中执行此操作?谢谢.

sql sql-server sql-server-2008

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

将逗号分隔的字符串转换为列表

我想传递一个int(逗号分隔)列表,这是我表中的一个字段

即.1234,2345,356,4567

我的IN条款WHERE.但是列表是一个字符串(VARCHAR),我正在比较一个int字段.有没有办法让我将列表转换为整数列表?

Enterprise_IDINT
Path是表中的一个字段,它是一个逗号分隔的字符串

即.1234,2345,356,4567

SELECT *
FROM tbl_Enterprise
WHERE Enterprise_ID IN ( Path )
Run Code Online (Sandbox Code Playgroud)

我的数据库是Vertica.

sql vertica

6
推荐指数
1
解决办法
9854
查看次数

使用LINQ拆分字符串

我想通过我的结果在我的字符串行中匹配计数.

所以这是代码

.ThenByDescending(p => p.Title.ToLower()
                              .Split(' ')
                              .Count(w => words.Any(w.Contains)));
Run Code Online (Sandbox Code Playgroud)

但它给我带来了错误,并说LINQ无法解析Split为SQL.

LINQ to Entities无法识别方法'System.String [] Split(Char [])'方法,并且此方法无法转换为商店表达式.

如何通过LINQ实现Split?

例如,对于此数组,它必须以这种方式排序

words = { "a", "ab" }

ab a ggaaag gh //3 matches
ba ab ggt //2 matches
dd //0 matches
Run Code Online (Sandbox Code Playgroud)

.net c# linq linq-to-entities exception-handling

5
推荐指数
1
解决办法
5796
查看次数

如何使用SQL(SQL Server)将数字列表转换为(临时)表

这是一个例子;

我有数字列表(1,5,8,36),我希望这些值作为(临时)表行.其中一种方法如下

select 1 as n into ##temp
union
select 5  as n 
union 
select 8 as n
union 
select 36 as n
Run Code Online (Sandbox Code Playgroud)

问题是数字列表是动态的.它可以没有任何价值观.所以我需要一种适当的系统方法将这些值转换为临时表行.

sql sql-server temp-tables sql-server-2008

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

如何将字符串分成不同的列?

我有一张像这样的条目的表.

    MachineName
-----------------------

    Ab bb zecos
    a zeng
    zeng
    empty
Run Code Online (Sandbox Code Playgroud)

表中有4行.

我如何分离这4行以获得输出.

       M1       M2       M3
-----------------------------------
       Ab       bb      zecos
       a        zeng     NULL
       zeng     NULL     NULL
       NULL     NULL     NULL
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

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

寻找两个大写字母之间的小写字母 - MySQL

我有问题 - 我需要找到像AbC这样的每一个短语(小b,两个大写字母之间).例如声明:小约翰有一个ProBlEm,需要知道如何做tHiS.

我需要选择ProBlEm和tHiS(你看,BlE和HiS,两个首都之间的一个小写字母).我该如何选择?

mysql select

5
推荐指数
1
解决办法
371
查看次数

使用SQL分割URL并添加到数据库

我试图分裂的URL,并得到各一部分domaincategorysubcategory等,并插入每一部分插入表中。例如:

"www.mydomain.com/toolsanddownloads/dailymealplanner.html?languageid=6"
Run Code Online (Sandbox Code Playgroud)

目的是在页面不存在时执行404重定向。我正在尝试使用CTE编写SQL语句并获取域的每个部分

;with cte AS
(
 SELECT 
    CASE 
    WHEN RIGHT(RTRIM(URL),1) = '/' THEN LEFT(URL,LEN(URL)-1)
    WHEN RIGHT(RTRIM(URL),5) = '.html' THEN LEFT(URL,LEN(URL)-5)
    ELSE URL
    END AS URL1,
       StartPos = CharIndex('//', URL)+2
  FROM [dbo].[404RedirectTemp]
) 

SELECT URL1, SUBSTRING(URL1, 8, CHARINDEX('/', URL1, 9) - 8) AS DomainName,
       REVERSE(SUBSTRING(REVERSE(URL1), CHARINDEX('?', REVERSE(URL1)) + 1,
       CHARINDEX('/', REVERSE(URL1)) - CHARINDEX('?', REVERSE(URL1)) -1)) AS CategoryName,
       SUBSTRING(URL1, CHARINDEX('?', URL1) + 1, LEN(URL1)) AS QueryParameter
FROM cte;
Run Code Online (Sandbox Code Playgroud)

我总是得到类别名称的最后一位,这是错误的,因为某些URL是 http://www.mydomain.com/toolsanddownloads/dailymealplanner.html?languageid=6

一些

"www.mydomain.com/toolsanddownloads"
"www.mydomain.com/toolsanddownloads/dailymealplanner.html"
Run Code Online (Sandbox Code Playgroud)

我想要实现的是是不管URL多少段有我想他们都为列: domain …

sql t-sql sql-server

5
推荐指数
1
解决办法
1700
查看次数

使用特定单词搜索表列

假设我有一个包含两列的表格:

ID, FullName
Run Code Online (Sandbox Code Playgroud)

我在其中有以下记录:

John Bob Smith
John Bobby Smith
Run Code Online (Sandbox Code Playgroud)

我的问题是:

我想只返回包含匹配单词"Bob"的行,并且我不想返回任何包含类似"Bobby"字样的行

当我搜索时使用:

Select * 
From Table1 
Where FullName like '%bob%'
Run Code Online (Sandbox Code Playgroud)

我得到了两行错了.

Select * 
From Table1 
Where FullName = 'Bob'
Run Code Online (Sandbox Code Playgroud)

这根本不返回任何行.

Select * 
From Table1 
Where FullName like 'Bob'
Run Code Online (Sandbox Code Playgroud)

这也不会返回任何行.

我尝试使用不同的通配符,但没有任何作用,我也试过了CHARINDEX,PATINDEX但他们也没有返回所需的结果.

有什么建议?

谢谢.

sql-server search

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