sql to_char 日期转换字符串

合集下载

oracle将一串数字转换为字符串的函数

oracle将一串数字转换为字符串的函数

oracle将一串数字转换为字符串的函数Oracle是一种常用的关系型数据库管理系统,它提供了丰富的函数和工具来处理数据。

其中一个常用的函数是将一串数字转换为字符串的函数。

在本文中,我们将介绍如何使用Oracle中的函数来实现这个功能。

在Oracle中,可以使用TO_CHAR函数将数字转换为字符串。

TO_CHAR函数的语法如下:TO_CHAR(number, [format], [nlsparam])其中,number是要转换的数字,format是可选的格式化字符串,nlsparam是可选的国家语言设置参数。

首先,我们来看一个简单的例子。

假设我们有一个数字列num,其中包含了一些整数值。

我们想要将这些整数值转换为字符串,并将其存储在一个新的列str中。

我们可以使用如下的SQL语句来实现:```UPDATE table_nameSET str = TO_CHAR(num)```在这个例子中,我们使用了TO_CHAR函数将num列中的每个整数值转换为字符串,并将其存储在str列中。

通过执行这个UPDATE语句,我们可以将数字转换为字符串并更新表中的数据。

除了简单的转换,TO_CHAR函数还可以使用格式化字符串来控制转换的结果。

例如,我们可以使用格式化字符串来指定转换后字符串的长度、小数位数、千位分隔符等。

下面是一些常用的格式化字符串的示例:- 'FM9999':将数字转换为至少4位的字符串,不包含千位分隔符。

- 'FM9999.99':将数字转换为至少4位整数和2位小数的字符串,不包含千位分隔符。

- 'FM9,999':将数字转换为至少4位的字符串,包含千位分隔符。

例如,我们可以使用如下的SQL语句将一个数字列num转换为至少4位整数和2位小数的字符串,并将其存储在str列中:```UPDATE table_nameSET str = TO_CHAR(num, 'FM9999.99')```通过执行这个UPDATE语句,我们可以将数字转换为指定格式的字符串并更新表中的数据。

sap select 标准函数

sap select 标准函数

sap select 标准函数SAP SELECT 是 SAP ABAP (Advanced Business Application Programming) 语言中的一个SQL 查询工具,用于从数据库表中选择数据。

在SAP SELECT语句中,可以使用各种标准函数来修改或操作从数据库表中检索的数据。

以下是一些常用的标准函数:1. 字符串函数:`TRIM`:删除字符串前后的空格。

`LENGTH`:返回字符串的长度。

`UPPER`:将字符串转换为大写。

`LOWER`:将字符串转换为小写。

`INITCAP`:将字符串的每个单词的首字母转换为大写。

2. 数值函数:`ROUND`:四舍五入数值。

`TRUNC`:截断数值。

`CEIL`:向上取整。

`FLOOR`:向下取整。

3. 日期函数:`TO_DATE`:将字符串转换为日期。

`TO_CHAR`:将日期转换为字符串。

`ADD_DAYS`:给日期添加天数。

`SUBTRACT_DAYS`:从日期减去天数。

4. 转换函数:`CAST`:将一个数据类型的值转换为另一个数据类型。

5. 聚合函数:`SUM`:计算数值列的总和。

`AVG`:计算数值列的平均值。

`MIN`:返回列中的最小值。

`MAX`:返回列中的最大值。

6. 其他常用函数:`CASE`:根据条件返回不同的值。

`IF`:条件判断。

`COALESCE`:返回参数列表中的第一个非NULL值。

7. 位置函数:用于字符串操作,例如查找子字符串在主字符串中的位置等。

8. 逻辑函数:如 `IS_NULL`, `NVL`, `COALESCE`, `GREATEST`, `LEAST` 等,这些函数提供了处理空值和比较不同数据类型的值的逻辑方法。

9. 其他:还有许多其他函数,根据具体需求和数据类型而定,可以在SAP ABAP的文档中查找完整的函数列表和描述。

使用这些函数,可以在SAP SELECT语句中更灵活地处理和操作从数据库表中检索的数据。

postgre sql常用函数

postgre sql常用函数

postgre sql常用函数
在PostgreSQL中常用的函数有以下几种:
1. 聚合函数:用于对数据进行分组计算,常见的聚合函数有SUM、AVG、COUNT、MIN、MAX等。

2. 数学函数:用于进行数学运算,常见的数学函数有ABS(取绝对值)、ROUND(四舍五入)、CEIL(向上取整)、FLOOR(向下取整)等。

3. 字符串函数:用于对字符串进行操作,常见的字符串函数有CONCAT(拼接字符串)、SUBSTRING(截取子串)、LENGTH(计算字符串长度)等。

4. 日期函数:用于处理日期和时间数据,常见的日期函数有NOW (获取当前时间)、DATE_PART(提取日期部分)、DATE_TRUNC(截断日期部分)等。

5. 条件函数:用于根据条件进行计算,常见的条件函数有CASE WHEN(条件判断)、COALESCE(返回第一个非空值)等。

6. 转换函数:用于进行数据类型的转换,常见的转换函数有CAST (将数据类型转换为指定类型)、TO_CHAR(将日期转换为字符串)等。

7. 窗口函数:用于在查询结果中进行窗口操作,常见的窗口函数有ROW_NUMBER(返回行号)、RANK(返回排名)等。

这些是PostgreSQL中常用的函数,根据具体的业务需求,还可以使用更多的函数进行数据处理和计算。

OracleSQL日期及日期格式获取命令

OracleSQL日期及日期格式获取命令

OracleSQL⽇期及⽇期格式获取命令⽇期及⽇期格式:获取⽇期:sysdate()格式化⽇期to_char(sysdate(),'yyyy-mm-dd,hh24:mi:ss')to_date(sysdate(),'yyyy-mm-dd,hh24:mi:ss')注:to_char 把⽇期或数字转换为字符串to_char(number, '格式')to_char(salary, '$99,999.99')to_char(date, '格式')to_date 把字符串转换为中的⽇期类型to_date(char, '格式')转换格式:表⽰ year 的:y 表⽰年的最后⼀位yy 表⽰年的最后2位yyy 表⽰年的最后3位yyyy ⽤4位数表⽰年表⽰ month 的:mm ⽤2位数字表⽰⽉mon ⽤简写形式,⽐如11⽉或者novmonth ⽤全称,⽐如11⽉或者november表⽰ day 的:dd 表⽰当⽉第⼏天ddd 表⽰当年第⼏天dy 当周第⼏天,简写,⽐如星期五或者friday 当周第⼏天,全称,⽐如星期五或者friday表⽰ hour 的:hh 2位数表⽰⼩时 12进制hh24 2位数表⽰⼩时 24⼩时表⽰minute的:mi 2位数表⽰分钟表⽰second的:ss 2位数表⽰秒 60进制表⽰季度的:q ⼀位数表⽰季度(1-4)另外还有ww ⽤来表⽰当年第⼏周 w⽤来表⽰当⽉第⼏周。

24⼩时制下的时间范围:00:00:00-23:59:5912⼩时制下的时间范围:1:00:00-12:59:59例⼦:返回系统⽇期: 2018/1/19 22:44:54select sysdate from dual;格式化: 2018-01-19 22:46:59select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual获取昨天:2018/1/18select trunc(sysdate-1) from dual;获取上个⽉第⼀天:2017/12/1select add_months(trunc(sysdate,'MON'),-1) from dualselect add_months(trunc(sysdate,'MON'),-13) from dual获得本季度第⼀天:2018/1/1select trunc(add_months(sysdate,0),'Q') from dual获得上季度第⼀天:2017/10/1select trunc(add_months(sysdate,-3),'Q') from dual补充当前时间减去7分钟的时间select sysdate,sysdate - interval '7' MINUTE from dual;当前时间减去7⼩时的时间select sysdate - interval '7' hour from dual;当前时间减去7天的时间select sysdate - interval '7'day from dual;当前时间减去7⽉的时间select sysdate,sysdate - interval '7'month from dual;当前时间减去7年的时间select sysdate,sysdate - interval '7'year from dual;时间间隔乘以⼀个数字select sysdate,sysdate -8*interval '7' hour from dual;Oracle 常⽤的时间函数Sysdate :当前⽇期和时间SQL>Select sysdate from dual;2018/1/1923:15:20Last_day :本⽉最后⼀天SQL>Select last_day(sysdate) from dual;2018/1/3123:16:24Add_months(d,n) :当前⽇期d后推n个⽉,⽤于从⼀个⽇期值增加或减少⼀些⽉份SQL>Select add_months(sysdate,2) from dual;2018/3/1923:18:29Months_between(f,s) :⽇期f和s间相差⽉数SQL>select months_between(sysdate,to_date('2017-8-1','yyyy-mm-dd'))from dual;5.6120034348865NEXTDAY(d, dayofweek) :返回由"dayofweek"命名的,在变量"d"指定的⽇期之后的第⼀个⼯作⽇的⽇期。

sql日期时间格式转换字符串简介

sql日期时间格式转换字符串简介

在sql server数据库中,sql server日期时间格式转换字符串可以改变sql server日期和时间的格式,是每个SQL数据库用户都应该掌握的。

日期时间转字符串:1.Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM2.Select CONVERT(varchar(100), GETDATE(), 1): 05/16/063.Select CONVERT(varchar(100), GETDATE(), 2): 06.05.164.Select CONVERT(varchar(100), GETDATE(), 3): 16/05/065.Select CONVERT(varchar(100), GETDATE(), 4): 16.05.066.Select CONVERT(varchar(100), GETDATE(), 5): 16-05-067.Select CONVERT(varchar(100), GETDATE(), 6): 16 05 068.Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 069.Select CONVERT(varchar(100), GETDATE(), 8): 10:57:4610.Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM11.Select CONVERT(varchar(100), GETDATE(), 10): 05-16-0612.Select CONVERT(varchar(100), GETDATE(), 11): 06/05/1613.Select CONVERT(varchar(100), GETDATE(), 12): 06051614.Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:93715.Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:96716.Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:4717.Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.15718.Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM19.Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-1620.Select CONVERT(varchar(100), GETDATE(), 24): 10:57:4721.Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.25022.Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM23.Select CONVERT(varchar(100), GETDATE(), 101): 05/16/200624.Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.1625.Select CONVERT(varchar(100), GETDATE(), 103): 16/05/200626.Select CONVERT(varchar(100), GETDATE(), 104): 16.05.200627.Select CONVERT(varchar(100), GETDATE(), 105): 16-05-200628.Select CONVERT(varchar(100), GETDATE(), 106): 16 05 200629.Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 200630.Select CONVERT(varchar(100), GETDATE(), 108): 10:57:4931.Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM32.Select CONVERT(varchar(100), GETDATE(), 110): 05-16-200633.Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/1634.Select CONVERT(varchar(100), GETDATE(), 112): 2006051635.Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:51336.Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:54737.Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:4938.Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.70039.Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.82740.Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ??????1427 10:57:49:907AM。

sql常用格式化函数及字符串函数

sql常用格式化函数及字符串函数

sql常⽤格式化函数及字符串函数⼀.常⽤格式化函数1.⽇期转字符串mysql:date_format()函数select date_format(now(), '%Y-%m-%d %H:%i:%s');%Y:年份%m:⽉份号(01-12)%d:⼀个⽉⾥的⽇(01-31)pg:to_char()函数select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS');YYYY:年份MM:⽉份号(01-12)DD:⼀个⽉⾥的⽇(01-31)HH24:⼀天的⼩时数(00-23)MI:分钟(00-59)SS:秒(00-59)格式化格式可以由以上英⽂字母任意搭配,如可以是'YYYY-MM-DD HH24:MI:SS',也可以是'YYYY-MM-DD',也可以是'YYYYMMDD'。

2.字符串转⽇期mysql:str_to_date()函数select str_to_date('2017-09-18', '%Y-%m-%d %H:%i:%s');select str_to_date('2017-09-18 12:08:35', '%Y-%m-%d %H:%i:%s');pg:select to_date('2017-09-18','YYYY-MM-DD');select to_timestamp('2017-09-18 22:41:50','YYYY-MM-DD HH24:MI:SS');待解析的字符串可以包含时分秒,也可以不包含时分秒。

解析格式同样可以任意指定。

to_date只会取到⽇期,不会取到时分秒,时间是该⽇的0点0分0秒,⽽不管待解析的字符串中时分秒是什么。

sql数字类型转换为字符串类型的方法

sql数字类型转换为字符串类型的方法

SQL数字类型转换为字符串类型的方法主要是通过SQL中的内置函数来实现的。

在数据库查询中,有时候我们需要将数字类型的数据转换为字符串类型,比如将数字型的ID转换为字符串类型的ID,或者将数字型的金额字段转换为带有千位分隔符的字符串类型。

下面我们将介绍几种常用的方法来实现这种类型的转换。

1. 使用CAST或CONVERT函数在SQL中,可以使用CAST或CONVERT函数来将数字类型转换为字符串类型。

这两个函数的语法类似,例如:```SELECT CAST(123 as VARCHAR(10))```或者```SELECT CONVERT(VARCHAR, 123)```这样就可以将数字123转换为字符串类型的"123"。

2. 使用字符串拼接符号另一种常见的方法是使用字符串拼接符号,将数字类型的字段直接与空字符串相加,这样也可以将数字转换为字符串,例如:```SELECT 123 + ''这样同样可以将数字123转换为字符串类型的"123"。

3. 使用TO_CHAR函数(针对Oracle数据库)如果是在Oracle数据库中进行数字类型到字符串类型的转换,可以使用TO_CHAR函数,例如:```SELECT TO_CHAR(123)```4. 使用CONCAT函数在一些数据库中,还可以使用CONCAT函数来将数字类型转换为字符串类型,例如:```SELECT CONCAT(123)```5. 附加格式化参数在一些情况下,我们需要对转换后的字符串进行格式化,比如保留小数位数或添加千位分隔符。

这时候可以在上述函数中加入参数来实现格式化,例如:```SELECT FORMAT(123, 'N2')这样可以将数字123转换为带有两位小数的格式化后的字符串。

在实际的开发中,根据具体的数据库类型和需求,我们可以选择合适的方法来将数字类型转换为字符串类型。

SQLServer中日期与字符串之间的互相转换及日期格式

SQLServer中日期与字符串之间的互相转换及日期格式

SQLServer中⽇期与字符串之间的互相转换及⽇期格式近期项⽬⽤到了很多⽇期转换为字符串、字符串转换为⽇期的⽅法,⽽且也⽤到了很多⽇期格式,特整理如下,以备后⽤。

1、⽇期转换为字符串、⽇期格式使⽤函数CONVERT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )参数expression是任何有效的 Microsoft?nbsp;? 表达式。

data_type⽬标所提供的数据类型,包括 bigint 和 sql_variant。

不能使⽤⽤户定义的数据类型。

lengthnchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

style⽇期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

⽤例:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10): 05-16-06Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16Select CONVERT(varchar(100), GETDATE(), 12): 060516Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDATE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDATE(), 112): 20060516Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AMSelect CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM2、字符串转换为⽇期使⽤ CAST:CAST ( expression AS data_type )使⽤ CONVERT:CONVERT (data_type[(length)], expression [, style])参数expression是任何有效的 Microsoft?nbsp;SQL Server? 表达式。

Access SQLServer Oracle日期格式转成字符串函数应用大全

Access SQLServer Oracle日期格式转成字符串函数应用大全

计算机审计中不同数据库日期型字段转换字符型函数应用大全在计算机审计过程中,经常碰到不同数据类型之间转换,尤其是对日期型数据模糊查询时往往先将字段日期型转换字符型,笔者将ACCESS、SQLSERVER2000、"ORACLE等数据库日期型转换字符型常用函数进行了罗列,以供大家参考。

一是ACCESS数据库中日期型转换字符型使用函数Format()。

其语法:Format(expression[,format][,firstdayofweek][,firstweekofyear]),参数expression必选,为任何有效的表达式;format可选,有效的命名格式表达式,或用户定义的格式表达式;firstdayofweek可选,指定一周的第一天;firstweekofyear可选,常量,指定一年的第一周。

语法如下:select个人编号,姓名,sum(金额)as金额groupby个人编号,姓名whereformat(参保时间,’yymmdd’)between‘’and‘’orderbysum(金额)desc,在AO2008里面使用Format()函数可以达到同样的效果。

二是SQLSERVER2000数据库中日期型转换字符型。

在SQLSERVER2000数据库中有两组日期型转换字符型函数Cast()或convert()。

Cast()语法:CAST(expressionASdata_type[(length)])参数expression,任何有效的表达式;data_type,目标数据类型;length,指定目标数据类型长度的可选整数。

默认值30。

"Convert()语法:CONVERT(datype,expression[,format-style])参数datype,表达式将转换成的数据类型;expression,要转换的表达式;format-style,对于将字符串转换为日期或时间数据类型以及相反的转换过程;format-style是描述要使用的日期格式字符串的样式代码。

sql如何将时间类型转换为字符串类型大全

sql如何将时间类型转换为字符串类型大全

登录后才能查看或发表评论立即登或者逛逛博客园首页
sql如 何 将 时 间 类 型 转 换 为 字 符 串 类 型 大 全
日期时间转字符串
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 Select CONVERT(varchar(100), GETDATE(), 12): 060516 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49 Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 Select CONVERT(varchar(100), GETDATE(), 112): 20060516 Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827

sqlto_char日期转换字符串

sqlto_char日期转换字符串

sqlto_char⽇期转换字符串1、转换函数与date操作关系最⼤的就是两个转换函数:to_date(),to_char()to_date() 作⽤将字符类型按⼀定格式转化为⽇期类型:具体⽤法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换⽇期格式,注意,前后两者要以⼀对应。

如;to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间多种⽇期格式:YYYY:四位表⽰的年份YYY,YY,Y:年份的最后三位、两位或⼀位,缺省为当前世纪MM:01~12的⽉份编号MONTH:九个字符表⽰的⽉份,右边⽤空格填补MON:三位字符的⽉份缩写WW:⼀年中的星期D:星期中的第⼏天DD:⽉份中的第⼏天DDD:年所中的第⼏天DAY:九个字符表⽰的天的全称,右边⽤空格补齐HH,HH12:⼀天中的第⼏个⼩时,12进制表⽰法HH24:⼀天中的第⼏个⼩时,取值为00~23MI:⼀⼩时中的分钟SS:⼀分钟中的秒SSSS:从午夜开始过去的秒数to_char():将⽇期转按⼀定格式换成字符类型SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;TIME-------------------2004-10-08 15:22:58即把当前时间按yyyy-mm-dd hh24:mi:ss格式转换成字符类型在oracle中处理⽇期⼤全TO_DATE格式Day:dd number 12dy abbreviated friday spelled out fridayddspth spelled out, ordinal twelfthMonth:mm number 03mon abbreviated marmonth spelled out marchYear:yy two digits 98yyyy four digits 199824⼩时格式下时间范围为: 0:00:00 - 23:59:59....12⼩时格式下时间范围为: 1:00:00 - 12:59:59 ....[ZT]⽇期和時間函數匯總1.⽇期和字符转换函数⽤法(to_date,to_char)2.select to_char( to_date(222,'J'),'Jsp') from dual显⽰Two Hundred Twenty-Two3.求某天是星期⼏select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;星期⼀select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; monday设置⽇期语⾔ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';也可以这样TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')4.两个⽇期间的天数select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;5. 时间为null的⽤法select id, active_date from table1UNIONselect 1, TO_DATE(null) from dual;注意要⽤TO_DATE(null)6.a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')那么12⽉31号中午12点之后和12⽉1号的12点之前是不包含在这个范围之内的。

AccessSQLServerOracle日期格式转成字符串函数应用大全

AccessSQLServerOracle日期格式转成字符串函数应用大全

AccessSQLServerOracle日期格式转成字符串函数应用大全计算机审计中不同数据库日期型字段转换字符型函数应用大全在计算机审计过程中,经常碰到不同数据类型之间转换,尤其是对日期型数据模糊查询时往往先将字段日期型转换字符型,笔者将ACCESS、SQL SERVER 2000、ORACLE等数据库日期型转换字符型常用函数进行了罗列,以供大家参考。

一是ACCESS数据库中日期型转换字符型使用函数Format()。

其语法:Format(expres sion [, format ] [, firstdayofweek ] [, firstweekofyear ] ),参数expression必选,为任何有效的表达式; format可选,有效的命名格式表达式,或用户定义的格式表达式;fir stdayofweek可选,指定一周的第一天;firstweekofyear可选,常量,指定一年的第一周。

语法如下:select 个人编号,姓名, sum(金额) as金额group by个人编号,姓名where format(参保时间,’yyyymmdd’)between ‘20060430’and ‘20070501’ order by sum(金额) desc,在AO2008里面使用Format()函数可以达到同样的效果。

二是SQL SERVER2000数据库中日期型转换字符型。

在SQL SERVER2000数据库中有两组日期型转换字符型函数Cast()或convert()。

Cast()语法:CAST ( expression AS da ta_type[(length)])参数expression ,任何有效的表达式;data_type,目标数据类型;le ngth,指定目标数据类型长度的可选整数。

默认值30。

Convert()语法:CONVERT(dat atype,expression[,format-style])参数datatype,表达式将转换成的数据类型;expressi on,要转换的表达式;format-style,对于将字符串转换为日期或时间数据类型以及相反的转换过程;format-style是描述要使用的日期格式字符串的样式代码。

to_char函数官方文档详解(数字格式转换和日期转换)

to_char函数官方文档详解(数字格式转换和日期转换)

to_char函数官⽅⽂档详解(数字格式转换和⽇期转换)⼀,TO_CHAR(NUMBER)本函数把参数N转为⼀个VARCHAR2类型的数值。

N可以是NUMBER,BINARY_FLOAT,或者BINARY_DOUBLE。

如果不带格式,那么函数会把N转换为⾜以表⽰N的VARCHAR2字符串。

格式表参考:序号格式简例说明1 ,(逗号) '9999,999'逗号,⼀般以千分位出现,作为分组符号使⽤.如果需要您也可以当作是⼗分位,百分位出现,可以出现N次,视乎数字的⼤⼩⽽定.变态的例⼦是 to_char(1234,'9,9,9,9').注意事项:只能出现在整数部分.2 .(点号) '99.99'点号,不要念为"句号",句号是个圆圈,点好只能出现在⼩数点对应的地⽅.只能出现⼀次. to_char(1234.34,'9,9,9,9.99')注意事项:只能出现在⼀个地⽅,就是原来数据⼩数点位置3 $(美元符号) '$999.99'美元.其实你可以放在任意地⽅(在10G下) to_char(1234.34,'9,9,9,9.$99')注意事项:只能出现⼀次.4 0(零)'0999.99' 零.在对应位置返回对应的字符,如果没有则以'0'填充.to_char(0.34,'9,9,9,0.$99')='$0.34';to_char(1234,'9999.00')='1234.00';注意事项:这是⼀个强制的符号,对应位没有,则以'o'填充,这是9很⼤不同地⽅5 9'999.99' 9.在⼩数位,则表⽰转换为对应字符,如果没有则以0表⽰;在整数位,没有对应则不填充字符. to_char(123,'999.99')=123.00; TO_CHAR(123,'99999.9')=123.0;注意事项:对于0和9⽽⾔,如果格式的位数不如数字的位数多,会返回'#'.譬如to_char(12345,'9999')='#####'6 B(空格符) 'B999'没有其它特别作⽤,在整数部分最前⾯加⼀个空格,可以出现在任意位置. 'S'||TO_CHAR(1234,'99B99')='S 1234';注意事项:只能出现在整数部位.7 C(国际货币符号) 'C9999'在特定的位置返回⼀个ISO货币符号(就是NLS_ISO_CURRENCY参数所代表的值)TO_CHAR(1233,'C9999')='CNY1234' ,这是新的国际标准RMB,关于这个可查询"国际货币符号"注意事项:只能出现在整数部位第⼀位.可以通过alter session set NLS_ISO_CURRENCY='JAPAN';来修改当前会话的设置.8 D(ISO ⼩数位符号)'999D99'这是"点号"的国际版本(ISO),作⽤等同于点号,也是只能出现⼀次.所不同的是,数据库会根据NLS_NUMERIC_CHARACTER的参数值来设置内容.默认的这个值是点号.注意事项:没有特别需要⼀般不要⽤这个格式符号.也不要轻易修改参数值.也可⽤alter sesssion set 来修改.alter session set nls_numeric_characters='!,'; to_char(1234.34,'9999d99')=1234!349 EEEE(科学计算符)9.9EEEE科学计算符号TO_CHAR(2008032001,'9.9EEEE')='2.01E+09',由于是科学计算⽅法,所以⼩数位前⾯加⼀个9或者0即可,多个是没有意义的.10 G(分组符号) 999G999是逗号(,)的的ISO标准,作为分组符号使⽤,可以放在多个地⽅使⽤.TO_CHAR(123456,'999G9G99')=123,4,56注意事项:同第⼋项 -D, 此外如果要转换出⼩数点,则要和D配合使⽤,不能和点号配合.11 L(本地货币符号)'L999'是C的本地版本.可以放在整个格式的最前⾯和最后⾯.TO_CHAR(123456,'999G9G99D00L')=123,4,56.00¥注意事项:同第七项 C12 MI(负号)'9999MI' 如果是负数,在尾部加上负号(-),如果是正数,则尾巴加上空格to_char(1234,'9999mi')||'S'||TO_CHAR(-5678,'9999MI') =1234 S5678-注意事项:只能放在格式尾巴13 PR(符号) 9999PR 是表达负数的另外⼀种⽅式.如果是正数,则头部加上空格;如果是负数,则⽤⼩简括号<>把数字包起来. TO_CHAR(-1234.89,'9G999D00PR')=<1,234.89>注意事项:同1214 RN(rn) RN(rn)把整数(1-3999)转换为罗马字符.RN表⽰转为⼤写,rn表⽰⼩写的. declarei int;beginfor i in 1..20 loopdbms_output.put_line(to_char(i,'RN'));end loop;end;注意事项:只能⾃⼰使⽤,不能和其它符号组合使⽤.15 S '9999S'是12,13的综合改进版本.为整数加⼀个正号+,为负数加⼀个符号-.S在前则加在前,在后则在后.TO_CHAR(-1234,'S9999')=-1234;TO_CHAR(1234,'S9999')=+123416 TM TM9/TMe 使⽤这个参数等于没有⽤参数to_char(number)⼀样,应为'tm9'是默认的格式参数. to_char(1234,'tme')=1234注意事项:格式要么是TM9,要么是TME.当数字长度超过64位时候,TM9的输出等同于TME的输出.17 U U999双币符号,例如欧元.作⽤同11的LTO_CHAR(999,'U999')=¥999注意事项:通过NLS_DUAL_CURRENCY 控制这是个⽐较古怪,⼜不是很常使⽤的符号。

convert用法sql

convert用法sql

convert用法sql转换函数是SQL语言中的一种重要工具,它用于将数据从一种格式或数据类型转换为另一种形式。

转换函数在查询过程中起着至关重要的作用,可以使我们可以处理和分析不同种类的数据。

一、什么是转换函数转换函数是SQL提供的一系列函数,用于改变原始数据的格式、类型或属性。

它们可以将数据从一种类型转换为另一种类型,可以改变数据的大小写、日期格式等。

转换函数一般使用内置的SQL转换函数,这些函数在不同的数据库管理系统中略有不同。

二、常见的转换函数1. CONVERT函数:CONVERT函数用于将一个数据类型的值转换为另一个数据类型。

它的语法如下:CONVERT(datatype, expression, style)其中,datatype表示欲转换后的数据类型,expression表示欲转换的表达式或列名,style表示转换的风格。

2. CAST函数:CAST函数用于将一个数据类型的值转换为另一个数据类型,与CONVERT函数类似。

它的语法如下:CAST(expression AS datatype)其中,expression表示欲转换的表达式或列名,datatype表示欲转换后的数据类型。

3. UPPER函数:UPPER函数用于将字符串转换为大写字母。

它的语法如下:UPPER(string)其中,string表示欲转换的字符串。

4. LOWER函数:LOWER函数用于将字符串转换为小写字母。

它的语法如下:LOWER(string)其中,string表示欲转换的字符串。

5. TO_CHAR函数:TO_CHAR函数用于将数值、日期或时间数据类型转换为字符串。

它的语法如下:TO_CHAR(expression, format_mask)其中,expression表示欲转换的表达式或列名,format_mask表示转换的格式。

6. TO_NUMBER函数:TO_NUMBER函数用于将字符型数据转换为数值型数据。

Oracle 中to_char和to_number和to_date教程

Oracle 中to_char和to_number和to_date教程

TO_CHAR 是把日期或数字转换为字符串TO_DATE 是把字符串转换为数据库中得日期类型转换函数TO_NUMBER 将字符转化为数字" TO_CHAR使用TO_CHAR函数处理数字TO_CHAR(number, '格式')TO_CHAR(salary,’$99,999.99’);使用TO_CHAR函数处理日期TO_CHAR(date,’格式’);" TO_NUMBER使用TO_NUMBER函数将字符转换为数字TO_NUMBER(char[, '格式'])" TO_DATE使用TO_DATE函数将字符转换为日期TO_DATE(char[, '格式'])"数字格式格式9 代表一个数字0 强制显示0$ 放置一个$符L 放置一个浮动本地货币符. 显示小数点, 显示千位指示符"日期格式格式控制描述YYYY、YYY、YY 分别代表4位、3位、2位的数字年YEAR 年的拼写MM 数字月MONTH 月的全拼MON 月的缩写DD 数字日DAY 星期的全拼DY 星期的缩写AM 表示上午或者下午HH24、HH12 12小时制或24小时制MI 分钟SS 秒钟SP 数字的拼写TH 数字的序数词“特殊字符” 假如特殊字符HH24:MI:SS AM 15:43:20 PM日期例子:SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUALSELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUALSELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUALSELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUALSELECT TO_DATE('2006', 'YYYY') FROM DUAL日期说明:当省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。

sql中to_char用法 -回复

sql中to_char用法 -回复

sql中to_char用法-回复标题:深入理解SQL中的TO_CHAR函数用法在SQL中,TO_CHAR函数是一个非常实用的工具,主要用于将数值类型或日期时间类型的数据转换为字符类型。

这个函数的强大之处在于它可以灵活地控制转换后的格式,使得数据更加易于阅读和理解。

以下是一步步详细解析TO_CHAR函数的用法。

一、基本语法TO_CHAR函数的基本语法如下:TO_CHAR(numeric_value date_time_value, format_model)其中,numeric_value是你要转换的数值,date_time_value是你要转换的日期时间值,format_model是你希望转换后的格式。

二、数值类型的转换1. 简单转换对于数值类型的转换,TO_CHAR函数可以将数字转换为指定格式的字符串。

例如,以下语句将数字12345转换为带有逗号分隔的字符串:SELECT TO_CHAR(12345, '999G999G999D99') FROM DUAL;结果为:"12,345"在这里,'999G999G999D99'是格式模型,其中'9'代表一个数字位,'G'表示分组分隔符(默认为逗号),'D'表示小数点。

2. 格式化货币值TO_CHAR函数还可以用于格式化货币值。

例如,以下语句将数字1234.56转换为货币格式的字符串:SELECT TO_CHAR(1234.56, 'L999G999G990D00','NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;结果为:"¥1,234.56"在这里,'L'表示货币符号,'NLS_NUMERIC_CHARACTERS = '',.{}''定义了小数点和千位分隔符。

hive中to_char的用法

hive中to_char的用法

hive中to_char的用法
Hive中的to_char()函数用于将指定类型的表达式转换为字符串。

它通过将所提供的参数按照特定的格式转换成字符串的形式来实现的。

to_char()函数的用法有以下几个参数:
首先是一个要转换的表达式,它可以是数值、日期或时间表达式,或者是另一个字符串表达式。

第二个参数是格式字符串,它决定了结果字符串的形式,如日期、时间或者金钱格式等。

第三个参数指示算术表达式,如加、减、乘等;
最后一个参数指定要返回的字符串的长度,该参数仅适用于转换
过程中需要精确表达的数值字符串。

通过使用to_char()函数,能够将指定的表达式转换成不同格式的
字符串,并在执行更复杂的算术运算时能够更精确地进行结果字符串
的输出。

举个例子,使用该函数可以把传入的日期参数转换成yyyy-MM-dd
格式的字符串,例如:SELECT to_char(date,'yyyy-MM-dd') from table1;
除了日期格式之外,还可以转换成其他格式的字符串,例如在求
和运算之后,可以把结果转换为带有千分位符号的字符串,如:SELECT to_char(sum(col1),'$999,999.99') from table1;
总之,to_char()函数可以说是Hive的一个很有用的函数,能够
实现多样的表达式转换,对于提高数据处理的准确性和效率都有很大
的帮助。

sql将时间类型转换为字符串类型汇总

sql将时间类型转换为字符串类型汇总
在分配数据库登录用户的数据库访问权限的时候出现这种错误如果选中某一个数据库型 转 换 为 字 符 串 类 型 汇 总
日期时间转字符串
复制代码 代码如下:
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 Select CONVERT(varchar(100), GETDATE(), 12): 060516 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49 Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 Select CONVERT(varchar(100), GETDATE(), 112): 20060516 Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827

ORACLESQL数据类型转换

ORACLESQL数据类型转换

ORACLESQL数据类型转换ORACLE SQL数据类型转换开发工具与关键技术:Oracle sql*plus PLSQL Developer撰写时间:2019年3月25日下面要说的是,如何将不同类型的数据进行转换处理这里主要包括有三个函数时间转换:TO_DATE ,字符转换:TO_CHAR 数值转换:TO_NUMBER 看下图理解:上图可以理解为(char字符,date时间,number数字)1、当char类型转换date类型时需要用到to_date函数,2、当date类型转换char类型时需要用到to_char函数3、当char类型转换number类型时需要用到to_number函数4、当number类型转换char类型时需要用到to_char函数下面看例子例1:将当前的时间转换为想要的格式输出已经使用to_char函数进行转换的结果说明:为什么要用to_char,因为sysdate是系统定义好的时间函数,而’’(单引号)里面的是字符,所以选择时间转字符select TO_CHAR(sysdate,'YYYY_MM_DD') from employees;未使用to_char函数进行转换的数据select sysdate from employees例2:将1999-01-01日期按格式显示出来使用to_date函数把字符类型的’1999-01-01’转换为日期格式select to_date('1999-01-01','yyyy-mm-dd') from employees;例3:将工资转换为数值类型(因为工资已经是数值类型的,所以在下面只是表达一下,说明是需要字符类型才能转换为数值类型,但是一定要对应后面的转换)SELECT TO_NUMBER(TO_CHAR(SALARY,'$999,999,999,999.99'),'$999,999,999,999.99') FROM EMPLOYEES不对应后面的类型例子,下面例子是不成立的,因为前面字符比后面的数字类型要多Select to_number('¥123,465,469,879.84','L999,999.99') FROM EMPLOYEES-全文完-。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、转换函数与date操作关系最大的就是两个转换函数:to_date(),to_char()to_date() 作用将字符类型按一定格式转化为日期类型:具体用法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。

如;to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间多种日期格式:YYYY:四位表示的年份YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪MM:01~12的月份编号MONTH:九个字符表示的月份,右边用空格填补MON:三位字符的月份缩写WW:一年中的星期D:星期中的第几天DD:月份中的第几天DDD:年所中的第几天DAY:九个字符表示的天的全称,右边用空格补齐HH,HH12:一天中的第几个小时,12进制表示法HH24:一天中的第几个小时,取值为00~23MI:一小时中的分钟SS:一分钟中的秒SSSS:从午夜开始过去的秒数to_char():将日期转按一定格式换成字符类型SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;TIME-------------------2004-10-08 15:22:58即把当前时间按yyyy-mm-dd hh24:mi:ss格式转换成字符类型在oracle中处理日期大全TO_DATE格式Day:dd number 12dy abbreviated friday spelled out fridayddspth spelled out, ordinal twelfthMonth:mm number 03mon abbreviated marmonth spelled out marchYear:yy two digits 98yyyy four digits 199824小时格式下时间范围为:0:00:00 - 23:59:59....12小时格式下时间范围为:1:00:00 - 12:59:59 ....[ZT]日期和時間函數匯總1.日期和字符转换函数用法(to_date,to_char)2.select to_char( to_date(222,'J'),'Jsp') from dual显示Two Hundred Twenty-Two3.求某天是星期几select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;星期一select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;monday设置日期语言ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';也可以这样TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')4.两个日期间的天数select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;5. 时间为null的用法select id, active_date from table1UNIONselect 1, TO_DATE(null) from dual;注意要用TO_DA TE(null)6.a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。

所以,当时间需要精确的时候,觉得to_char还是必要的7. 日期格式冲突问题输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01'alter system set NLS_DATE_LANGUAGE = Americanalter session set NLS_DATE_LANGUAGE = American或者在to_date中写select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,可查看select * from nls_session_parametersselect * from V$NLS_PARAMETERS8.select count(*)from ( select rownum-1 rnumfrom all_objectswhere rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-02-01','yyyy-mm-dd')+1)where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )notin ( '1', '7' )查找2002-02-28至2002-02-01间除星期一和七的天数在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒).9.select months_between(to_date('01-31-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;1select months_between(to_date('02-01-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;1.0322580645161310. Next_day的用法Next_day(date, day)Monday-Sunday, for format code DAYMon-Sun, for format code DY1-7, for format code D11select to_char(sysdate,'hh:mi:ss') TIME from all_objects注意:第一条记录的TIME 与最后一行是一样的可以建立一个函数来处理这个问题create or replace function sys_date return date isbeginreturn sysdate;end;select to_char(sys_date,'hh:mi:ss') from all_objects;12.获得小时数SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer SQL> select sysdate ,to_char(sysdate,'hh') from dual;SYSDATE TO_CHAR(SYSDATE,'HH')-------------------- ---------------------2003-10-13 19:35:21 07SQL> select sysdate ,to_char(sysdate,'hh24') from dual;SYSDATE TO_CHAR(SYSDATE,'HH24')-------------------- -----------------------2003-10-13 19:35:21 19获取年月日与此类似13.年月日的处理select older_date,newer_date,years,months,abs(trunc(newer_date-add_months( older_date,years*12+months ))) daysfrom ( selecttrunc(months_between( newer_date, older_date )/12) YEARS,mod(trunc(months_between( newer_date, older_date )),12 ) MONTHS,newer_date,older_datefrom ( select hiredate older_date,add_months(hiredate,rownum)+rownum newer_datefrom emp ))14.处理月份天数不定的办法select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual16.找出今年的天数select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual闰年的处理方法to_char( last_day( to_date('02' || :year,'mmyyyy') ), 'dd' )如果是28就不是闰年17.yyyy与rrrr的区别'YYYY99 TO_C------- ----yyyy 99 0099rrrr 99 1999yyyy 01 0001rrrr 01 200118.不同时区的处理select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdatefrom dual;19.5秒钟一个间隔Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS') from dual2002-11-1 9:55:00 35786SSSSS表示5位秒数20.一年的第几天select TO_CHAR(SYSDATE,'DDD'),sysdate from dual310 2002-11-6 10:03:5121.计算小时,分,秒,毫秒selectDays,A,TRUNC(A*24) Hours,TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes,TRUNC(A*24*60*60 - 60*TRUNC(A*24*60)) Seconds,TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)) mSecondsfrom(selecttrunc(sysdate) Days,sysdate - trunc(sysdate) Afrom dual)select * from tabnameorder by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');//floor((date2-date1) /365) 作为年floor((date2-date1, 365) /30) 作为月mod(mod(date2-date1, 365), 30)作为日.23.next_day函数next_day(sysdate,6)是从当前开始下一个星期五。

相关文档
最新文档