SQL存储过程转换日期参数

标签 sql oracle stored-procedures plsql

我有一个接受两个日期的 SQL 存储过程,但是当我在打开的查询中发送它们时,Oracle 由于某种原因不喜欢该日期格式。

如何在使用存储过程发送之前将日期格式从 dd-mm-yyyy 更改为 YYYY-MM-DD

例如SET @startdate = CONVERT

最佳答案

使用TO_DATE function将字符串值转换为 Oracle DATE 数据类型。

要接受 YYYY-MM-DD 格式的日期字符串:

v_start_date DATE := TO_DATE(v_date_string, 'YYYY-MM-DD');

要接受 DD-MM-YYYY 格式的日期字符串:

v_start_date DATE := TO_DATE(v_date_string, 'DD-MM-YYYY');

关于SQL存储过程转换日期参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878072/

相关文章:

php - 在单个语句中多次调用存储过程时出现错误 1064

MySQL获取受影响行的行id并在更新后再次更新它们

mysql - MySQL 中的排行榜 - 为每个用户返回多个 "best"结果

sql - 更新语句导致Oracle "No more data to read from socket"?

sql - 如何获取给定之前和之后的记录?

oracle - 如何使用 DISTINCT 和 UNION 按不区分大小写的 ASC 或 DESC 排序

c# - 如何使用 C# 执行 .SQL 脚本文件

MYSQL存储过程查询回退逻辑

sql - 使用其他列从 JSONB 列获取数据

sql - 在 CASE 表达式中将 DateTime 变量设置为 NULL