在DB2中如何把日期格式变为 yyyymmdd 格式????

campose22 2006-07-12 10:50:04
在DB2中如何把日期格式变为 yyyymmdd 格式????
...全文
2248 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hengdda 2006-11-24
  • 打赏
  • 举报
回复
说明:
1.TO_CHAR
ORACLE中的TO_CHAR函数主要功能是将日期格式的数据显示成特定的格式输出,在DB2/400中可以用自定义
函数实现这个功能。

CREATE FUNCTION to_char ( t1 TIMESTAMP, format VARCHAR(32) )
RETURNS VARCHAR(26)
LANGUAGE SQL
READS SQL DATA
NO EXTERNAL ACTION
BEGIN
DECLARE chs_tmstmp CHAR( 26 );
DECLARE retval VARCHAR( 26 );
SET chs_tmstmp = CHAR( t1 );
CASE TRIM(format)
WHEN 'DD'
THEN SET RETVAL = SUBSTR( chs_tmstmp, 9, 2);
WHEN 'MM'
THEN SET RETVAL = SUBSTR( chs_tmstmp, 6, 2);
WHEN 'YYYY'
THEN SET RETVAL = SUBSTR( chs_tmstmp, 1, 4);
WHEN 'YYYY-MM-DD'
THEN SET RETVAL = SUBSTR( chs_tmstmp, 1, 10);
ELSE SIGNAL SQLSTATE '38Z01'
SET MESSAGE_TEXT = 'INVALID FORMAT SPECIFIED.';
END CASE;
RETURN retval;
END;

---ibm 网站提供的参考函数
lz应该直接这样写就ok了
to_char(current timestamp,'yyyymmdd')
sweet7782 2006-11-14
  • 打赏
  • 举报
回复
verry easy:
substring(char(name),1,6)
fengxiarong707 2006-10-23
  • 打赏
  • 举报
回复

DECLARE V_TIME VARCHAR(8);
SET V_TIME = FUNC_DATETIME_FMT(CURRENT TIMESTAMP,'yyyymmdd');
conanfans 2006-08-23
  • 打赏
  • 举报
回复
year(op_time)*10000+month(op_time)*100+day(op_time)
A拉伦 2006-08-22
  • 打赏
  • 举报
回复
给你一段网上看到的函数,比较精炼
DROP FUNCTION FUNC_DATETIME_FMT;
CREATE FUNCTION FUNC_DATETIME_FMT(TS TIMESTAMP, FMT VARCHAR(20))
RETURNS VARCHAR(50)
RETURN
WITH TMP (DD,MM,YYYY,HH,MI,SS,NNNNNN) AS
(
SELECT
SUBSTR( DIGITS (DAY(TS)),9),
SUBSTR( DIGITS (MONTH(TS)),9) ,
RTRIM(CHAR(YEAR(TS))) ,
SUBSTR( DIGITS (HOUR(TS)),9),
SUBSTR( DIGITS (MINUTE(TS)),9),
SUBSTR( DIGITS (SECOND(TS)),9),
RTRIM(CHAR(MICROSECOND(TS)))
FROM SYSIBM.SYSDUMMY1
)
SELECT
CASE FMT
WHEN 'yyyymmdd'
THEN YYYY || MM || DD
WHEN 'yyyymmddhhmiss'
THEN YYYY || MM || DD || HH || MI || SS
WHEN 'mm/dd/yyyy'
THEN MM || '/' || DD || '/' || YYYY
WHEN 'yyyy/dd/mm hh:mi:ss'
THEN YYYY || '/' || MM || '/' || DD || ' ' ||
HH || ':' || MI || ':' || SS
WHEN 'nnnnnn'
THEN nnnnnn
ELSE
'DATE FORMAT ' || COALESCE(FMT,' ') ||
' NOT RECOGNIZED.'
END
FROM TMP

;
Simore 2006-08-16
  • 打赏
  • 举报
回复
--------------------------------------------------------------
您好,我们是“2006中国杰出数据库工程师评选”活动组委会。
您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
http://www.bestdba.cn/match_discussion.aspx

在那里,进入本次评选终选的30位数据库工程师将与您展开积极的互动。他们会为您的问题提供满意的答案,

此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。

您的帖子位于:
http://www.bestdba.cn/match_discussion3.aspx?pointid=554&pointid2=1&pointid3=5&pcount=stc
非常感谢您对本次活动的支持!
pumawang 2006-08-16
  • 打赏
  • 举报
回复
select replace(substr(To_char(update_DATE,'YYYY-MM-DD HH24:MI:SS'),1,10),'-','') From table


yongming520 2006-07-19
  • 打赏
  • 举报
回复
REPLACE(CHAR(YYYY-MM-DD),'-','')

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧