我有一个varchar @ a ='a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p',有| 划定的价值观.我想将此变量拆分为数组或表.有没有人对此有任何想法.
这是我的问题.比如我有一个表的产品包含一个字段,名称:
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功能.
问题是,我不能直接SOUNDEX在Name字段上使用.(这是无关紧要的,因为名称中有几个单词.)我想将该SOUNDEX函数应用于Name字段中的每个单词,然后查看它们是否与researched关键字匹配.
如果有人知道如何做到这一点,那将是非常棒的.
我有一个字符串,看起来BAT | CAT | RAT | MAT我想把这个字符串分成4个部分然后存储在4个不同的变量中分别说.. @ a,@ b,@ c,@ d.我在代码中执行此操作,但我不确定如何在sql中执行此操作?谢谢.
我想传递一个int(逗号分隔)列表,这是我表中的一个字段
即.1234,2345,356,4567
我的IN条款WHERE.但是列表是一个字符串(VARCHAR),我正在比较一个int字段.有没有办法让我将列表转换为整数列表?
Enterprise_ID是INT
Path是表中的一个字段,它是一个逗号分隔的字符串
即.1234,2345,356,4567
SELECT *
FROM tbl_Enterprise
WHERE Enterprise_ID IN ( Path )
Run Code Online (Sandbox Code Playgroud)
我的数据库是Vertica.
我想通过我的结果在我的字符串行中匹配计数.
所以这是代码
.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) 这是一个例子;
我有数字列表(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)
问题是数字列表是动态的.它可以没有任何价值观.所以我需要一种适当的系统方法将这些值转换为临时表行.
我有一张像这样的条目的表.
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) 我有问题 - 我需要找到像AbC这样的每一个短语(小b,两个大写字母之间).例如声明:小约翰有一个ProBlEm,需要知道如何做tHiS.
我需要选择ProBlEm和tHiS(你看,BlE和HiS,两个首都之间的一个小写字母).我该如何选择?
我试图分裂的URL,并得到各一部分domain,category,subcategory等,并插入每一部分插入表中。例如:
"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 …
假设我有一个包含两列的表格:
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但他们也没有返回所需的结果.
有什么建议?
谢谢.