database - 当时间戳与另一个时间戳完全相同时如何删除行
问题描述
我有 1 个具有时间戳列的表,我正在尝试删除时间戳列是主键的行,那么如何删除该行?
例如:
Delete from access where timeStamp_column = '13/04/18 07:15:31,123457000';
像这样的东西,我一直在搜索,但我发现的只是“如何删除早于等的时间戳”,我需要它与我写的相同
谢谢,人们!
对不起我的英语:)
解决方案
您依赖基于会话 NLS 设置的隐式转换,这绝不是一个好主意。您应该使用to_timestamp()
合适的格式掩码对字符串值进行显式转换。
看起来特别可疑的两件事是两位数的年份 - 如果您NLS_TIMESTAMP_FORMAT
的 YYYY 将寻找 0018 而不是 2018;并且可能是 07 的小时值 - 您没有 AM/PM 标记,因此如果您NLS_TIMESTAMP_FORMAT
有HH:MI:SS,FF9 AM'
(或HH:... PM
,或HH:...
没有 AM 或 PM),那么您可能正在查看一天中的错误时间。
如果您有固定值,则可以使用时间戳文字:
delete from access
where timeStamp_column = timestamp '2018-04-13 07:15:31.123457000';
否则显式转换:
delete from access
where timeStamp_column = to_timestamp('13/04/18 07:15:31,123457000',
'DD/MM/RR HH24:MI:SS,FF9');
(当然,假设它真的应该是早上 7 点;如果它应该是晚上 7 点,只需将 07 更改为 19)。
推荐阅读
- scala - 在 Scala 中将日期字符串转换为日期
- java - Junit 在 Bean 初始化之前创建测试数据模式
- spring-boot - Liquibase 不填充更改日志表中的上下文列
- c# - 找不到 Microsoft.SharePoint.Client.Sharing.SecurableObjectExtensions.GetSharingInformation() 方法
- reactjs - 由于神秘的语法错误,NPM 无法构建
- r - 如何在 dplyr 中计算迭代的逐行函数(例如增长率)>
- python - 如何使用交叉验证输出中的最佳模型来使用 keras model.predict()?
- ios - 在 RX Swift iOS 中设置绑定时转换属性值
- android - 使用excel作为数据库的Android条码扫描器
- sql - 使用触发器防止删除满足另一个表中条件的行的最佳方法?