小编vel*_*ije的帖子

自动增量主键生成奇怪的值

我有一个包含三列的表,基本的SELECT语句如下所示:

SELECT TOP 1000 [PatchHistoryId]
      ,CASE 
        WHEN [PatchName] LIKE N'1_%' THEN '1_aaa'
        WHEN [PatchName] LIKE N'2_%' THEN '2_bbb'
        WHEN [PatchName] LIKE N'3_%' THEN '3_ccc'
        WHEN [PatchName] LIKE N'4_%' THEN '4_ddd'
        WHEN [PatchName] LIKE N'5_%' THEN '5_eee'
        WHEN [PatchName] LIKE N'6_%' THEN '6_fff'
        WHEN [PatchName] LIKE N'7_%' THEN '7_ggg'
        WHEN [PatchName] LIKE N'8_%' THEN '8_hhh' END AS PatchName
      ,[CreatedDate]

FROM [PatchHistory]
Run Code Online (Sandbox Code Playgroud)

结果如下所示:

PatchHistoryId | PatchName | CreatedDate

-------------------------------------------

1       1_aaa   2013-07-19 12:50:14.637
2       2_bbb   2013-07-19 12:50:16.570
1002    3_ccc   2013-07-26 08:53:33.557
1003 …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

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

非聚集指数与覆盖指数之间的区别

可能是一个奇怪的标题,但我会试着表达我的困境.

非聚集索引与三列(即.FirstName,LastNameBirthDate)之间的真正区别是什么,并覆盖索引,其中我们有两个索引列(FirstNameLastName)和一个包含列BirthDate

使用一种类型比其他类型有任何性能提升吗?当我们更新BirthDate列中的值时,两种索引类型中发生了什么?

使用干净的非群集覆盖索引获得/失去的是什么,而在两个索引中,我们在索引中都有三个值,而不需要从页面文件中获取额外的任务来获取数据.

索引结构有什么区别吗?

也许问题太宽泛,但问题很简单.

sql-server indexing

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

SQL中BETWEEN子句的真正目的是什么?

要正确使用索引,必须将过滤谓词设置为搜索参数,因此DATETIME在这种情况下不能使用函数.

您需要使用<=>=操作数进行日期和时间比较,但也有BETWEEN条款.

所以,建议是使用简单的算术操作数,因为BETWEEN结束日期有问题.

有没有BETWEEN更好的背景<=>=

sql t-sql sql-server

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

删除特定数据库的所有索引

如何从一个数据库中删除所有索引,无论是聚簇还是非聚簇?

我需要使用脚本,而不是GUI.

EDITED

数据库有7个表,其中一些是查找,一些是与外键相关的.每个表都有一个最小的索引,在创建主键时及时创建,因此自动创建了约束.当通过GUI删除这些索引时,我收到一个错误,即由于依赖于其他键而无法删除索引.

因此,我需要首先删除作为外键的索引键,然后删除在主键上创建的索引.

sql sql-server indexing

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

Merging two tables in sqlite from different database

I need to merge two tables in sqlite based on a common column. The problem is both the tables belong to different databases. So, what would be an efficient way to merge the tables here?

A sample table would be like this with the desired result. But the problem is these two tables are in different databases.

Table 1: Employee_Pro_Profile
Columns: Emp_Id, Emp_Name, Emp_Sal

Table 2: Employee_Personal_Profile
Columns: Emp_Id, Emp_Home_Address, Emp_Phone

Resulting Table: Employee_Complete
Columns: Emp_Id, Emp_Name, Emp_Sal, Emp_Home_Address, Emp_Phone
Run Code Online (Sandbox Code Playgroud)

sql vb.net sqlite

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

SELECT列表中的嵌套聚合函数

我试过以下查询:

SELECT 
    MAX(SUM(e.Empid))
FROM HR.Employees
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么不允许这样做?

sql t-sql sql-server select

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

我如何仅显示过去七天的数据或日期是否为空?

我只需要显示我的sep_dt日期为null或者是否在过去七天内的数据.我该怎么做?

 SELECT 
     IIF(SEP_DT >= DATEADD(DAY, -7, GETDATE()) OR SEP_DT = NULL, 1, 0) AS TERMDATE, 
     * 
 FROM MYTable
Run Code Online (Sandbox Code Playgroud)

这不起作用,我不想要额外的TERMDATE列.我只需要剩下的数据

sql sql-server

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

标签 统计

sql-server ×6

sql ×5

indexing ×2

t-sql ×2

select ×1

sql-server-2012 ×1

sqlite ×1

vb.net ×1