每人,每天,做好每件事
Everyone,Everyday,Everything

【SQL】SQLite strftime()函数日期日间格式化 计算员工年龄

根据出生日期计算出员工的年龄:

strftime('{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}Y','now')-strftime('{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}Y',出生日期) +1 
SELECT 雇员ID, 职务, cast(strftime('{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}Y','now') as int)-cast(strftime('{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}Y',出生日期) as int)+1 AS 年龄 FROM 雇员

strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。
strftime()的语法是strftime(格式, 日期/时间, 修正符, 修正符, …)

它可以用以下的符号对日期和时间进行格式化:
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}d 日期, 01-31
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}f 小数形式的秒,SS.SSS
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}H 小时, 00-23
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}j 算出某一天是该年的第几天,001-366
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}m 月份,00-12
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}M 分钟, 00-59
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}s 从1970年1月1日到现在的秒数
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}S 秒, 00-59
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}w 星期, 0-6 (0是星期天)
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}W 算出某一天属于该年的第几周, 01-53
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}Y 年, YYYY
{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed} 百分号

strftime()的用法举例如下:

select strftime(‘{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}Y.{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}m.{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}d {762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}H:{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}M:{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}S’,’now’,’localtime’);
结果:2006.10.17 21:41:09
其实更好的用法是这样的,比如统,本月或本年的支出:
select strftime(‘{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}Y-{762543b0bd26c03e246ab03142f632f804e6711be7925c5ff269e230a03d75ed}m’,日期) as 月份,sum(支出) as 月支出 from 流水帐 group by 月份;

赞(0) 打赏
未经允许不得转载:辣椒小鱼のBlog » 【SQL】SQLite strftime()函数日期日间格式化 计算员工年龄
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮