如何将字符串日期转换为sqlite中的日期格式 [英] How to convert string date into date format in sqlite

查看:835
本文介绍了如何将字符串日期转换为sqlite中的日期格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要找到平均年龄,但我的DOB存储在我的sqlite数据库中的月,日,年的格式(例如:-May,2,1986)。



我如何从1986年5月2日转换成日期格式以找到年龄?



关于
Nikil

解决方案

此解决方案仅考虑年份,而不考虑月份+(可以添加到此日期)。

  SELECT 
DATE('now') -
CAST(
SUBSTR(birth_date,-4)||' - '||
CASE SUBSTR(birth_date,0,LENGTH(birth_date)-8)
WHEN'January'THEN 1
WHEN'February'THEN 2
WHEN'March'THEN 3
当'4月'当4
当'5月'5
当'6月'当6
当7月$ 7
当'8月'当8
当'9月'当9
当'十月'当10
当'十一月'当11
WHEN'December'THEN 12
END ||' - '||
SUBSTR(birth_date,6,1)
AS DATE)
FROM foo;

这将给你 26.0 。 p>

I need to find the average age but my DOB is stored in the format Month,day,year(eg:-May,2,1986) in my sqlite database .

How can i convert from May,2,1986 into date format to find the age?

Regards Nikil

解决方案

This solution only considers the year, not the month + day (which you can add to it).

SELECT
   DATE('now') -
   CAST(
      SUBSTR(birth_date,-4) || '-' ||
      CASE SUBSTR(birth_date,0,LENGTH(birth_date)-8)
         WHEN 'January' THEN 1
         WHEN 'February' THEN 2
         WHEN 'March' THEN 3
         WHEN 'April' THEN 4
         WHEN 'May' THEN 5
         WHEN 'June' THEN 6
         WHEN 'July' THEN 7
         WHEN 'August' THEN 8
         WHEN 'September' THEN 9
         WHEN 'October' THEN 10
         WHEN 'November' THEN 11
         WHEN 'December' THEN 12
      END || '-' ||
      SUBSTR(birth_date, 6,1)
   AS DATE)
FROM foo;

This will give you 26.0.

这篇关于如何将字符串日期转换为sqlite中的日期格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆