可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12

ISO_DAY_OF_WEEK

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

从日期时间值中提取 ISO_DAY_OF_WEEK 值。

ISO_DAY_OF_WEEK 函数是 EXTRACT 的简写版本,传递一个 DatePart.ISO_DAY_OF_WEEK 值作为参数。

SELECT iso_day_of_week(DATE '2020-02-03');
create.select(isoDayOfWeek(Date.valueOf("2020-02-03"))).fetch();

结果为(星期一 = 1,...,星期日 = 7)

+-----------------+
| iso_day_of_week |
+-----------------+
|               7 |
+-----------------+

方言支持

此示例使用 jOOQ

isoDayOfWeek(Date.valueOf("2020-02-03"))

翻译成以下特定方言的表达式

ASE

(((DATEPART(dw, '2020-02-03 00:00:00.0') + @@datefirst + 5) % 7) + 1)

Aurora MySQL,MariaDB,MySQL

weekday(TIMESTAMP '2020-02-03 00:00:00.0') + 1

Aurora Postgres、CockroachDB、Postgres

extract(ISODOW FROM TIMESTAMP '2020-02-03 00:00:00.0')

DB2

DAYOFWEEK_ISO(TIMESTAMP '2020-02-03 00:00:00.0')

H2

extract(ISO_DAY_OF_WEEK FROM TIMESTAMP '2020-02-03 00:00:00.0')

Hana

(weekday(TIMESTAMP '2020-02-03 00:00:00.0') + 1)

HSQLDB

(mod(
  (EXTRACT(DAY_OF_WEEK FROM TIMESTAMP '2020-02-03 00:00:00.0') + 5),
  7
) + 1)

MemSQL

weekday({ts '2020-02-03 00:00:00.0'}) + 1

Oracle

to_number(to_char(TIMESTAMP '2020-02-03 00:00:00.0', 'D'))

SQLDataWarehouse,SQLServer

(((DATEPART(dw, CAST('2020-02-03 00:00:00.0' AS DATETIME2)) + @@datefirst + 5) % 7) + 1)

SQLite

(((CAST(strftime('%w', '2020-02-03 00:00:00.0') AS int) + 6) % 7) + 1)

Sybase

(mod(
  (DATEPART(dw, '2020-02-03 00:00:00.0') + @@datefirst + 5),
  7
) + 1)

Access, BigQuery, ClickHouse, Databricks, Derby, DuckDB, Exasol, Firebird, Informix, Redshift, Snowflake, Teradata, Trino, Vertica, YugabyteDB

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

您对此页面有任何反馈吗?我们很乐意听到!

The jOOQ Logo