谢谢你的帮助。我无法在日期栏中识别“值”的类型/格式,我猜它是朱利安日期格式。
列是paid_month,值在下面。
200901
200902因此,请帮助编写SQL查询,以便将Date列中的上述值(主要是Julian格式)转换为正常日期(MM/DD/YYYY)。
谢谢罗希特
嗨,
我很抱歉没有给出全部信息。
1)它是一个Oracle数据库。2)给出的列为Paid_Month,值为200901,200902。
3)我还感到困惑的是,如果我的猜测是正确的,那么上面给出的月份值& year.Day也不会给出。
4)如果不是朱利安格式,那么也请帮助我获得至少mm/yyyy的SQL。
我正在使用Oracle DB并运行查询,谢谢我得到了答案。
**现在,我必须将日期01/09/2010转换为有6位数字的字符串。 Pls帮助语法-选择to_char(01/01/2010,**
发布于 2011-06-02 07:20:22
它看起来像YYYYMM --根据您的数据库变体,尝试STR_TO_DATE(paid_month, 'YYYYMM'),然后格式化它。
注: MM/DD/YYYY不是“正常”格式,只有美国人才使用。世界其他地方使用DD/MM/YYYY
发布于 2011-06-02 07:19:58
对于MySQL,检查http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
示例:
SELECT DATE_FORMAT(NOW(), '%d/%m/%Y')发布于 2011-06-02 07:23:34
对于MySQL,您可以使用STR_TO_DATE函数,请参阅http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_str-to-date
SELECT STR_TO_DATE(paid_month,'%Y%m');听起来,该列包含一些正常日期和一些YYYYMM日期。如果目标是更新整个列,则可以尝试隔离YYYYMM日期并只更新这些日期。类似于:
UPDATE YourTable
SET paid_month = DATE_FORMAT(STR_TO_DATE(paid_month, '%Y%m'), '%m/%d/%Y')
WHERE LENGTH(paid_month) = 6https://stackoverflow.com/questions/6211596
复制相似问题