我在一个名为Table_1
的表中有这样的数据:
my_current_date_value
20-MAR-22
20-MAR-31
20-APR-29
我想要的是:
Wednesday
Friday
Saturday
如何在Oracle中实现这一点?我试着玩TO_CHAR
函数,但它不喜欢我目前的'YY-MMM-DD'
,我无法将其转换为'YYYY-MM-DD'
。
以下是我尝试使用的:
SELECT TO_CHAR(DATE my_current_date_value,'DAY')FROM DUAL;
这似乎只在我硬编码单个日期时有效,但对于一列日期则无效。有什么建议吗?这就是我说我的代码不工作的意思。
2条答案
按热度按时间7uhlpewt1#
你不需要确定数据类型是什么,所以这里有一些变体来覆盖DATE/TIMESAMP(查询1)或VARCHAR 2(查询2):
fiddle
btw:
TO_CHAR(...,'Day')
返回一周中的某一天,并在末尾添加空格以匹配可能的最长日期名称。例如,代替“SUNDAY”,您将得到“SUNDAY”。使用“fm”(即使用fmDay
)删除这些尾随空格。imzjd6km2#
看看这是否对你有用!(我会把一个更好的图片/表输出后)x1c 0d1x