我有一种情况,字符串中的第6和第7个字符需要等于'73'.我试过使用LIKE '%73%'但问题是有时SQL Server会遇到可能在字符串中的其他73s.有没有办法只搜索字符串中的第6和第7个字符?
非常感谢大家的帮助!
在我的数据集中,我需要替换一个名为的列中的值_name.我想运行一个更新语句,我可以删除数据的开括号和右括号
这是我目前的数据:
Section (2010)
Run Code Online (Sandbox Code Playgroud)
它应该成为:
Section 2010
Run Code Online (Sandbox Code Playgroud)
2010 是动态的,它可以是任何东西
如何在T-SQL语句中替换这些值?
我正在尝试提取给定可变文件路径的文件名。一些路径示例:
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
文件路径长度可以因位置而异。
我定义了这个表:
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) 我需要重命名数据库中所有表中的列。因此所有表中的“ OldColumn”列都必须重命名为“ NewColumn”
我可以使用此查询获取具有此列的表的列表:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME= <Column Name>
Run Code Online (Sandbox Code Playgroud)
但是,如何在所有表中重命名它却尽可能简单,而不必编写游标呢?
我的网站有一个非常奇怪的问题,最后我成功地查明了确切原因。
在我的“实体”表中,我有几列,例如“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)--> 我得到正确的结果。
有任何想法吗?
请查看以下代码并帮助我修复错误.
当我试图执行它时,我只得到以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 方面的帮助。我有一张这种结构的表。
:
我需要的是一个查询来返回这样的数据。
:
非常感谢您提前!
亲切的问候, bgergoe
我的表有3000万行,并且它每天都在增加,但现在只需简单的选择查询
Select top 10 * from table order by entrydate desc
Run Code Online (Sandbox Code Playgroud)
是否需要超过8分钟,任何解决方案?
我有一个脚本,我今天需要约会但是从一年前开始,但是我还需要它与时间采用以下格式.
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的客户端.