小编scs*_*mon的帖子

T-SQL - 如何在字符串中搜索第n个字符

我有一种情况,字符串中的第6和第7个字符需要等于'73'.我试过使用LIKE '%73%'但问题是有时SQL Server会遇到可能在字符串中的其他73s.有没有办法只搜索字符串中的第6和第7个字符?

非常感谢大家的帮助!

sql t-sql sql-server

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

如何替换列中的括号

在我的数据集中,我需要替换一个名为的列中的值_name.我想运行一个更新语句,我可以删除数据的开括号和右括号

这是我目前的数据:

Section (2010)
Run Code Online (Sandbox Code Playgroud)

它应该成为:

Section 2010
Run Code Online (Sandbox Code Playgroud)

2010 是动态的,它可以是任何东西

如何在T-SQL语句中替换这些值?

sql-server sql-server-2008

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

如何从文件路径中提取文件名

我正在尝试提取给定可变文件路径的文件名。一些路径示例:

C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\CentralDB.mdf

C:\MSSQL\DATA\CentralDB.mdf

C:\DATA\CentralDB.mdf
Run Code Online (Sandbox Code Playgroud)

预期输出应该只是文件名,即:

CentralDb.mdf CentralDB.ldf

文件路径长度可以因位置而异。

t-sql sql-server

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

Update语句适用于临时表,但不适用于表值变量

我定义了这个表:

CREATE TABLE #stagingtable
(
    id int identity(1,1),
    typeflag int default 0,
    resourcetype varchar(25),
    resource varchar(40),
    est int,
    planned int,
    actual int
)

And then I am looking for places where the resourcetype is not the same as the resourcetype in the previous row, so I wrote the following UPDATE:

UPDATE #stagingtable
SET typeflag = 1 
WHERE id = (
    SELECT min(id)
    FROM #stagingtable
)
OR resourcetype <> (
    SELECT resourcetype
    FROM #stagingtable rt2
    WHERE rt2.id = (
        SELECT MAX(id) …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server rdl correlated-subquery

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

重命名所有表中的列-SQL

我需要重命名数据库中所有表中的列。因此所有表中的“ OldColumn”列都必须重命名为“ NewColumn”

我可以使用此查询获取具有此列的表的列表:

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME= <Column Name>
Run Code Online (Sandbox Code Playgroud)

但是,如何在所有表中重命名它却尽可能简单,而不必编写游标呢?

sql sql-server

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

SQL SERVER - FETCH NEXT ROWS 返回重复的结果

我的网站有一个非常奇怪的问题,最后我成功地查明了确切原因。

在我的“实体”表中,我有几列,例如“Id”、“Title”、“Date”、“Indexing”等等。

“索引”列用全文索引编制索引。

考虑以下 SQL 查询:

SELECT Id 
FROM [dbo].[Entities] AS DocTable 
INNER JOIN CONTAINSTABLE(Entities, Indexing, 'otherCriteria OR criteia') AS KEY_TBL  
ON DocTable.Id = KEY_TBL.[KEY] 
ORDER BY KEY_TBL.RANK DESC
Run Code Online (Sandbox Code Playgroud)

这个查询按预期工作,我得到大约 600 个结果。

现在我添加分页:

SELECT Id 
FROM [dbo].[Entities] AS DocTable 
INNER JOIN CONTAINSTABLE(Entities, Indexing, 'otherCriteria OR criteia') AS KEY_TBL  
ON DocTable.Id = KEY_TBL.[KEY] 
ORDER BY KEY_TBL.RANK DESC 
OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)

无论我使用 OFFSET 30 还是 40 或 50 -> 我总是得到完全相同的结果!

现在真正奇怪的部分是:如果在 SELECT 中,我还要求选择“标题”(例如 SELECT Id、Title)--> 我得到正确的结果。

有任何想法吗?

sql-server

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

SQL中有多个喜欢

请查看以下代码并帮助我修复错误.

当我试图执行它时,我只得到以ENTBI-Q开头的记录.但是下面写的两个条件(任务%,INC%)没有被执行.

我想要以任务,事件和entbi-q开头的记录.

请注意,任务和事件是一列的字段值,而entbi-q是另一列的字段值.

SELECT
   S1."NAME" AS "NAME",
   S1."SYS_ID" AS "SYSID",
   T2."ASSIGNMENT_GROUP" AS "ASSIGNMENTGROUP",
   T2."NUMBER_" AS "NUMBER",
   T2."CLOSED_AT" AS "CLOSEDAT",
   T2."OPENED_AT" AS "OPENEDAT"

FROM
   "IOD"."SYS_USER_GROUP" S1,
   "IOD"."TASK" T2
WHERE
   (S1."SYS_ID"=T2."ASSIGNMENT_GROUP")
   AND  S1."NAME" LIKE 'ENTBI-Q%'
   AND T2."NUMBER" LIKE 'TASK%'
   AND T2."NUMBER" LIKE 'INC%'
Run Code Online (Sandbox Code Playgroud)

sql

0
推荐指数
1
解决办法
100
查看次数

sql表中两行的合并值出现在一行的两列中

我需要 SQL 方面的帮助。我有一张这种结构的表。

这种结构

我需要的是一个查询来返回这样的数据。

这个

非常感谢您提前!

亲切的问候, bgergoe

sql-server merge

0
推荐指数
1
解决办法
503
查看次数

一个简单的选择查询,在3000万行上花费8分钟

我的表有3000万行,并且它每天都在增加,但现在只需简单的选择查询

Select top 10 * from table order by entrydate desc
Run Code Online (Sandbox Code Playgroud)

是否需要超过8分钟,任何解决方案?

sql sql-server

0
推荐指数
1
解决办法
63
查看次数

获取一年前的今天日​​期

我有一个脚本,我今天需要约会但是从一年前开始,但是我还需要它与时间采用以下格式.

 2017-11-07 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

我目前到了一个我去年约会的地方而不是00:00:00.000时间戳.

select  DATEADD(year, -1, GETDATE())
Run Code Online (Sandbox Code Playgroud)

这将返回运行查询的时间.

 2017-11-07 13:37:10.770
Run Code Online (Sandbox Code Playgroud)

这是一个where子句,因为我需要从去年的今天开始获取一些数据,所以寻找一个where子句,从去年午夜开始到23:00:00000结束

它适用于运行SQL Server 2005的客户端.

t-sql sql-server sql-server-2005

0
推荐指数
1
解决办法
98
查看次数