数据库有个字段时时间戳格式的,现在前台传过来的参数类型是【0500】这样的String,怎么能用SQL做到用传来的String参数只更新这个字段的时和分的部分,使结果变成【2023-10-16 05:00:00】?
数据库有个字段时时间戳格式的,现在前台传过来的参数类型是【0500】这样的String,怎么能用SQL做到用传来的String参数只更新这个字段的时和分的部分,使结果变成【2023-10-16 05:00:00】?
在PostgreSQL中,您可以使用 to_timestamp
函数将字符串转换为时间戳,然后使用 to_char
函数将时间戳格式化为特定的字符串。
以下是一个可能的SQL查询,它将接收一个形如 "0500"
的字符串,然后更新表中的时间戳字段,仅更改时和分的部分:
UPDATE your_table
SET your_timestamp_column = to_timestamp('2023-10-16 0500', 'YYYY-MM-DD HH24MISS')
WHERE your_condition;
在上述SQL中,'2023-10-16 0500'
是您传入的字符串,'YYYY-MM-DD HH24MISS'
是时间戳的格式。to_timestamp
函数将根据这个格式将字符串转换为时间戳。然后,这个时间戳被用来更新 your_table
表中的 your_timestamp_column
字段。your_condition
是您需要更新的行的条件。
请注意,这只是一个基本的示例。在实际使用中,您可能需要根据实际需求调整这个查询。例如,如果您的前端传入的字符串格式不是 'YYYY-MM-DD HH24MISS'
,那么您就需要更改 to_timestamp
函数的第二个参数。
1 回答2.4k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
3 回答2.3k 阅读
2 回答946 阅读
通过代码更新不行吗,比如获取到原有时间,拿到前端提交的时分替换,然后更新数据库,就可以了,不要太依赖数据库