sql - 使用 IF 条件截断表
问题描述
嗨,如果数据是 35 天前,我想截断表有没有办法把如果使用截断命令表名 Employee 我想在输出下面
truncate table employee if datediff(day,record_date,getdate()) >35
解决方案
听起来您想删除记录,而不是截断表:
delete from employee
where record_date < dateadd(day, -35, convert(date, getdate()));
注意:如果表是一个大表,那么您可能需要考虑使用分区存储数据。这允许您删除分区,这通常比删除大量记录要快得多。
推荐阅读
- scala - 确定/启用火花中的并行性
- javascript - 在 Android 上浏览时 addeventlistener 不起作用?
- angular - 如何构建一个获取异步值但还对该数据执行任务(如过滤)的服务?
- c# - 在 C# 中以特定模式舍入浮点数
- python - 如何访问 Pandas 数据透视表数据
- php - 有没有办法如果有人访问我的 laravel 项目中的目录,我会将他们重定向到主页?
- macos - Safari macOS 内容拦截器只能使用一次
- php - 对内部有两个数组的多维数组进行排序?
- powershell - 在 powershell 脚本中应用补丁文件
- c - 使用 C 语言中的递归函数搜索数组中的元素