日期格式

如何在sql server中把数据库中的日期字段转换为短日期格式

蹲街弑〆低调 提交于 2019-12-09 20:53:31
数据库中的字段begintime为2007-4-18 17:37,怎样获得begintime为2007-4-18 这个怎么解决? 解决办法:convert(varchar(10),begintime,120) 用CONVERT 可以实现 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 参数 expression 是任何有效的 Microsoft® SQL Server™ 表达式。 data_type 目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。 length nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。 style 日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。 SQL

oracle 日期函数 格式处理 去掉前面的0

天大地大妈咪最大 提交于 2019-12-02 16:26:04
今天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说2010-01-08 ,需要的结果是1-8. 引出了一系列的sql语句 第一: 利用to_number的函数转换自动截0 select to_number(to_char(sysdate,'mm‘))||'-'||to_number(to_char(sysdate,'dd’)) from dual; 第二: 利用ltrim函数加固定参数去掉0 select ltrim(to_char(sysdate,'mm‘),'0’)||'-'||ltrim(to_char(sysdate,'dd‘),'0’) from dual; 上面两种方法实现了我们所需要的,共同的特点是都用到两个函数了,但有没有更简单的方法呢 ? 我猜有的人肯定就想到了oracle是不是有这样的格式呢 select to_char(sysdate,'m-d‘) from dual; 很可惜,提示错误,日期格式不存在 .不要灰心,我们继续… 第三:利用函数的特性。 我们知道 select sysdate from dual ; 得到的值是:2010-1-8 11:06:18 那有没有函数直接获取到月份1和日8, 我们的猜测是正确的,确实有这样的函数,出现了下面的函数, select extract(month from sysdate) ||'-'||