首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Oracle中识别工作日?

如何在Oracle中识别工作日?
EN

Stack Overflow用户
提问于 2019-08-15 01:05:24
回答 1查看 467关注 0票数 0

早上好,

我正在尝试为Oracle寻找工作日的替代方法,由于某些原因,我们的版本不能识别工作日功能。它一直抛出一个错误,

WeekDay:无效的标识符。

我尝试在Where语句中使用它:

代码语言:javascript
运行
复制
Where
Weekday(OR_Log.Surgery_DAte) not in (1,7)

排除周六或周日的手术。这是为了将代码从Teradata更新到Oracle。

Oracle V.12C

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-08-15 01:18:20

您的Oracle版本不能识别“工作日”,因为它不是Oracle function

您可以使用the to_char() function获取日期数字,但它依赖于NLS设置,所以不回复它会更安全。日期名称也依赖于NLS语言,但至少可以作为函数调用的一部分被覆盖:

代码语言:javascript
运行
复制
where to_char(OR_Log.Surgery_Date, 'Dy', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Sat', 'Sun')

'Dy'格式化元素is described in the documentation以及所有其他元素。请注意,'DY'以大写形式提供日期缩写,'Day''DAY'以混合/大写形式提供完整的日期名称;但默认情况下,这些名称用空格填充(其他语言中的缩写也是如此);但如果您希望完整的日期名称具有可读性,则可以添加修饰符:

代码语言:javascript
运行
复制
where to_char(OR_Log.Surgery_Date, 'FMDay', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Saturday', 'Sunday')
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57499124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档