我的桌子有三列.其中一列[ Col3]具有多个值.所以,当我在桌面上做一个select命令时:
Select col1, col2, col3 from MyTable
Run Code Online (Sandbox Code Playgroud)
它给了我以下结果:
Col1 Col2 Col3
------------------------------
Row 1 430 A319 N1160 N1336
Row 2 abc efg G3489 M5678 N5643
Run Code Online (Sandbox Code Playgroud)
如果有任何方法可以获得输出:
Col1 Col2 Col3
------------------------------
Row 1 430 A319 N1160
Row 2 430 A319 N1336
Row 3 abc efg G3489
Row 4 abc efg M5678
Row 5 abc efg N5643
Run Code Online (Sandbox Code Playgroud)
就像列有多个值一样,然后会显示与列中每个值对应的新行,其他列应包含重复的数据.
我希望我对这个问题很清楚.
declare @str varchar(50)='GoodLuck Markand'
declare @replacedString varchar(50)
set @replacedString = replace(@str,'Good','Better')
print @replacedString
Run Code Online (Sandbox Code Playgroud)
我希望输出保持不变,因为没有像“Good”这样的单词。但输出是“BetterLuck Markand”。
我想要 MS SQL Replace 函数来比较确切的单词,然后替换它。我怎样才能这样做?
我必须授予REFERENCES登录权限说sql_login。
我可以授予REFERENCES单个表的权限,例如
GRANT REFERENCES ON Mytable TO sql_login
Run Code Online (Sandbox Code Playgroud)
有什么方法可以授予REFERENCES我登录所有表的权限,或者有任何错误
我正在尝试搜索与我的搜索模式匹配的文件。
static void ListBlobsInFolder() {
var account = <MyStorageAccount>
var blobClient = account.CreateCloudBlobClient();
var containerName = "importcontainer";
var folderName = "subfolder";
var container = blobClient.GetContainerReference(containerName);
var query = container.ListBlobs(prefix: folderName, useFlatBlobListing: true, blobListingDetails: BlobListingDetails.None);
foreach(var item in query) {
Console.WriteLine(item.Uri.Segments.Last());
}
}
Run Code Online (Sandbox Code Playgroud)
这让我得到子文件夹中存在的文件列表。
有没有办法返回只匹配模式的文件。示例我想检索其中包含“abc”的文件名。
这在 Azure 中可能吗?
谁能解释为什么Replace功能并不能取代所有出现string_pattern用string_replacement?
select REPLACE(' A A A A ',' A ',' B ')
Run Code Online (Sandbox Code Playgroud)
输出: B A B A
预期产出: B B B B
select REPLACE('.A.A.A.A.','.A.','.B.')
Run Code Online (Sandbox Code Playgroud)
输出: .B.A.B.A.
预期产量: .B.B.B.B.
在上面的查询中,为什么只替换备用值?
我知道上面的问题可以通过添加一个替换来修复.
select replace(REPLACE('.A.A.A.A.A.A.A.A.A.','.A.','.B.'),'.A.','.B.')
Run Code Online (Sandbox Code Playgroud)
但是,为什么单Replace 并不取代一切的发生string_pattern与string_replacement
任何人都可以解释发生了什么?
我为这个SQLFIDDLE创建了一个示例小提琴
CREATE TABLE [dbo].[Users](
[userId] [int] ,
[userName] [varchar](50) ,
[managerId] [int] ,
)
INSERT INTO dbo.Users
([userId], [userName], [managerId])
VALUES
(1,'Darry',NULL),
(2,'Cono',1),
(3,'Abros',2),
(4,'Natesh',1),
(5,'Ani',3),
(6,'Raju',5),
(7,'Pinky',5),
(8,'Miya',4)
Run Code Online (Sandbox Code Playgroud)
我的要求就是在特定经理下方显示所有员工层级
这是我试过的
WITH UserCTE AS (
SELECT userId, userName, managerId, 0 AS EmpLevel
FROM Users where managerId IS NULL
UNION ALL
SELECT usr.userId, usr.userName, usr.managerId, mgr.[EmpLevel]+1
FROM Users AS usr
INNER JOIN UserCTE AS mgr
ON usr.managerId = mgr.userId where usr.managerId IS NOT NULL
)
SELECT *
FROM UserCTE …Run Code Online (Sandbox Code Playgroud) 我在使用时遇到问题GetDate(),由于某种原因没有返回正确的时间(比实际时间提前7小时)我正在使用AZURE并且数据库配置了正确的位置(美国西部).我将不胜感激任何帮助!
我试着运行这个脚本:
SELECT id,
status,
AcceptedDate,
Getdate(),
Datediff(hour, AcceptedDate, Getdate())
FROM orderoffers
WHERE status = 'Accepted'
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个OracleSQL 查询来获取'LATCH'值'RTG/LATCH.PETROL_ABC'
谢谢
我试图将名为"Number"的列字段的值递增1,如果该值当前为Null,我想将该值设置为1,因为Null值不能递增.我发现了isNull()函数,并且没有使用以下语句获得结果:
Update SomeTable set Number = IsNull(Number, Number+ 1) where
ItemCode = '000000' ;
Run Code Online (Sandbox Code Playgroud)
我的问题基本上是如何以1的增量同时更新字段值,如果当前为"NULL"则将值设置为1
谢谢!
如何限制子字符串以提取SQL Server中两个空格之间的文本?
柱
2017-03-09 Today ABC.XYZ Work_In_Progress
Run Code Online (Sandbox Code Playgroud)
输出应为:
ABC.XYZ
Run Code Online (Sandbox Code Playgroud)
我可以从第二个空格拉出,但不能限制到第三个空格:
SELECT ID, SUBSTRING(HISTORY, CHARINDEX(' ', HISTORY, CHARINDEX(' ', HISTORY) +1)+1,LEN(HISTORY))
from Test;
Run Code Online (Sandbox Code Playgroud)