我有下面给出的 SQL 查询,我想使用like
运算符选择多个值。
我的查询正确吗?
SELECT top 1 employee_id, employee_ident, utc_dt, rx_dt
FROM employee
INNER JOIN employee_mdata_history
ON employee.ident=employee_mdata_history.employee_ident
WHERE employee_id like 'emp1%' , 'emp3%'
ORDER BY rx_dt desc
Run Code Online (Sandbox Code Playgroud)
如果没有,有人可以纠正我吗?
我的表有大量以'emp1'
和开头的数据'emp3'
。我可以根据前 3 个“emp1”和前 2 个“emp3”过滤结果rx_dt
吗?
我可以使用带有 where 子句的 truncate 命令吗?我需要从几个表中删除特定的行。
如何从整个数据库中删除特定数据?
SELECT DimEmployee.[FirstName], DimEmployee.[LastName], [SalesOrderNumber], [ShipDateKey]
FROM DimEmployee
JOIN [FactResellerSales]
ON DimEmployee.[EmployeeKey] = [FactResellerSales].[ProductKey]
WHERE DimEmployee.[FirstName] like 'kevin%' <--have to truncate this specific name from entire DB
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以从整个数据库中删除特定数据?
在我的数据库中有 172 个表。我想从整个数据库中删除特定名称及其对应的列。该名称分布在整个数据库中,因此我想一次性删除它,而不是转到每个表并单独删除它。
我想使用分区 ID 从特定分区中删除数据。我收到了从 SQL 2016 的特定分区截断数据的查询,但没有找到任何较低版本的查询。
我尝试在下面的查询中只删除分区 ID 为 14 和 15 的分区中的数据。
delete from partitiontable1 WITH (PARTITIONS (14 to 15))
Run Code Online (Sandbox Code Playgroud)
delete 语句会删除分区本身和数据吗?
我想保持分区完整并从特定分区中删除数据。说,我在一个表上创建了分区,它有 5 个分区(1、2、3、4、5),我只想从第二个和第三个分区中删除数据。
performance sql-server partitioning sql-server-2012 query-performance
我创建了一个临时表并插入了如下所示的值。
create table #temp( val int );
insert into #temp values(333);
insert into #temp values(222);
insert into #temp values(111);
Run Code Online (Sandbox Code Playgroud)
在查询下面的 select 语句时,我得到了 333 作为答案。
Select *
from #temp a
Where 1 =(
Select COUNT(VAL)
from #temp b
where a.val <= b.val
);
Run Code Online (Sandbox Code Playgroud)
结果:
val
333
Run Code Online (Sandbox Code Playgroud)
您能否帮助我了解 SQL Server 是如何使用此解决方案的。
sql-server ×4
delete ×1
like ×1
operator ×1
partitioning ×1
performance ×1
query ×1
truncate ×1