翻译页面
本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。
STRFTIME
根据指定的格式返回格式化后的日期时间值。
语法
SELECT STRFTIME(format, datetime_expression [, modifier, ...]) FROM <multipartIdentifier>;
参数
format
由 datetime_expression 值指定的日期时间值所需的格式。请参阅下方的格式表。
datetime_expression
要格式化的日期或时间值。
modifier
应用于 datetime_expression 的零个或多个修饰符。有关修饰符的更多信息,请参阅日期修饰符。
格式
| 格式 | 说明 |
|---|---|
| %d | 一个月中的第几天:01-31 |
| %f | 带小数的秒:SS.SSS |
| %H | 小时:00-24 |
| %j | 一年中的第几天:001-366 |
| %J | 儒略日数 |
| %m | 月份:01-12 |
| %M | 分钟:00-59 |
| %s | 自 1970-01-01 以来的秒数 |
| %S | 秒:00-59 |
| %w | 星期几 0-6,星期日==0 |
| %W | 一年中的第几周:00-53 |
| %Y | 年份:0000-9999 |
| %% | 转义百分号:% |
返回值
返回一个格式化的字符串,表示所需的日期时间格式。
示例
以美国格式返回日期
SELECT name, strftime('%m/%d/%Y', creationTimestamp) as created_at
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
将日期时间转换为纪元时间戳
SELECT name, strftime('%s', creationTimestamp) as created_at
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
计算两个日期之间的天数
SELECT name, (strftime('%s','now')-strftime('%s', creationTimestamp))/86400 as days_since_creation
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
有关更多信息,请参阅 https://www.sqlite.org/lang_datefunc.html。