sql - 如何在 Oracle 中识别工作日?
问题描述
早上好,
我正在尝试为 Oracle 寻找 Weekday 的替代方案,由于某种原因,我们的版本无法识别 Weekday 功能。一直报错,
工作日:标识符无效。
我正在尝试在 Where 语句中使用它:
Where
Weekday(OR_Log.Surgery_DAte) not in (1,7)
淘汰任何周六或周日的手术。这是为了将代码从 Teradata 更新到 Oracle。
甲骨文 V. 12C
任何帮助,将不胜感激。
解决方案
您的 Oracle 版本无法识别“工作日”,因为那不是Oracle 功能。
您可以使用该to_char()
功能获取日期编号,但它取决于 NLS 设置,因此不要回复它更安全。日期名称也依赖于 NLS 语言,但至少可以作为函数调用的一部分被覆盖:
where to_char(OR_Log.Surgery_Date, 'Dy', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Sat', 'Sun')
'Dy'
格式元素与所有其他元素一起在文档中进行了描述。请注意,'DY'
以大写形式为您提供日期缩写,'Day'
或者'DAY'
以混合/大写形式为您提供全日名称;但是默认情况下会用空格填充(其他语言中的缩写也是如此......);但如果您想要全天名称以提高可读性,则可以添加修饰符:
where to_char(OR_Log.Surgery_Date, 'FMDay', 'NLS_DATE_LANGUAGE=ENGLISH') not in ('Saturday', 'Sunday')
推荐阅读
- javascript - 使用 discord Oauth2 时,如何在我的网站上显示用户名和头像?
- kml - 为什么这个 KmlLayer 示例不能在我的服务器上运行?
- view - .net core mvc:在区域上添加具有 crud 功能的控制器未正确生成代码和链接
- r - 为多个图像对象泛化 magick::image_apend
- javascript - 使用 e.target 时,未定义不是对象
- python - 如何使用 groupby() 函数在 Python 中制作宿舍?
- ruby - 关于在 Ruby 中实现游戏图形的新手问题
- heroku - 如何在heroku中添加Mozilla firefox
- sharepoint - 如何在没有 spfx 的 sharepoint 在线命令栏上创建自定义操作按钮?
- python - 在不分解关键短语的情况下进行标记