小编Pரத*_*ீப்的帖子

将列中的逗号分隔值拆分为Sql Server中的多行

我的桌子有三列.其中一列[ 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)

就像列有多个值一样,然后会显示与列中每个值对应的新行,其他列应包含重复的数据.

我希望我对这个问题很清楚.

sql sql-server csv

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

使用 ms sql server“替换”替换整个单词

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 函数来比较确切的单词,然后替换它。我怎样才能这样做?

sql-server

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

如何向所有表授予 REFERENCES 权限

我必须授予REFERENCES登录权限说sql_login

我可以授予REFERENCES单个表的权限,例如

GRANT REFERENCES ON Mytable TO sql_login
Run Code Online (Sandbox Code Playgroud)

有什么方法可以授予REFERENCES我登录所有表的权限,或者有任何错误

sql sql-server grant

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

Azure blob 文件名中的模式搜索

我正在尝试搜索与我的搜索模式匹配的文件。

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 中可能吗?

c# search azure azure-blob-storage

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

使用SQL Server替换函数

谁能解释为什么Replace功能并不能取代所有出现string_patternstring_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_patternstring_replacement

任何人都可以解释发生了什么?

sql t-sql sql-server replace sql-server-2008

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

递归CTE - 查找经理以下的所有员工

我为这个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)

.net sql sql-server recursive-cte

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

SQL GetDate()返回错误的时间

我在使用时遇到问题GetDate(),由于某种原因没有返回正确的时间(比实际时间提前7小时)我正在使用AZURE并且数据库配置了正确的位置(美国西部).我将不胜感激任何帮助!

我试着运行这个脚本:

SELECT id,
       status,
       AcceptedDate,
       Getdate(),
       Datediff(hour, AcceptedDate, Getdate())
FROM   orderoffers
WHERE  status = 'Accepted' 
Run Code Online (Sandbox Code Playgroud)

sql getdate azure-sql-database

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

Oracle SQL获取2个特殊字符之间的值

我正在寻找一个OracleSQL 查询来获取'LATCH''RTG/LATCH.PETROL_ABC'

谢谢

sql oracle

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

IsNull()sql函数

我试图将名为"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 sql-server isnull sql-server-2008 sql-update

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

如何限制子字符串以提取SQL Server中两个空格之间的文本?

如何限制子字符串以提取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)

sql t-sql sql-server

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