`

Oracle取月份,不带前面的0

 
阅读更多
今天碰到只要取月份和天数,如果月份前面有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) ||'-'|| extract(day from sysdate) month from dual;
注意: extract 具体的用法找'google'吧 ,不会让你失望的。
又近了一步,满足了吧,不要满足了,下面还有。 上面的方法有一个共同的特征,就是月和日都是分开取的,怎么样才能
合并到一起去,这样多好啊 ! 看我们的第四种方法:
第四:巧用oracle自带的格式
select to_char(sysdate,'fmmm-dd') from dual;
ps:the format_mask parameter begins with "FM". This means that zeros and blanks are suppressed
分享到:
评论

相关推荐

    Oracle to_char

    Oracle to_char 函数详解 Oracle 的 to_char 函数是一个...* to_char 支持不带前导双引号('"')的文本,但是在双引号之间的任何字串会被迅速处理并且还保证不会被当作模板关键字解释(例如:'"Hello Year: "YYYY')。

    数据库知识

    14、显示不带有“R”的员工的姓名 15、显示所有员工姓名的前三个字符 16、显示所有员工的姓名,用“a”替换所有“A” 17、列出所有员工的姓名以及其直接上级的姓名 18、列出受雇日期早于其直接上级的所有员工的编号...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:Oracle中需要创建用户一定是要具有dba(数据库管理员)权限的用户才能创建,而且创建的新用户不具备任何权限,连登录都不可以。 用法:create user 新用户名 identified by 密码 例子: 2. 修改密码 说明:...

    oracle数据库经典题目

    25. 下列哪个锁模式不属于Oracle?( D ) A. 共享锁 B.排他锁 C. 行级共享锁 D. 死锁 26. 想在另一个模式中创建表,用户最少应该具有什么系统权限?( B ) A.CREATE TABLE B. CREATE ANY TABLE C. RESOURCE D. ...

    Oracle_SQL练习题

    13. **显示不带有"R"的员工的姓名**:使用`NOT LIKE`或正则表达式进行模式匹配。 ```sql SELECT ENAME FROM emp WHERE ENAME NOT LIKE '%R%'; ``` 14. **显示所有员工姓名的前三个字符**:使用`SUBSTR`函数截取...

    oracle常用函数汇总.docx

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语法和函数来支持数据的管理与操作。以下是对Oracle常用函数及SQL语句的详细说明: **一、数据控制语句(DML)** 1. **INSERT**:用于向数据表...

    oracle试题

    显示不带有"R"的员工的姓名 - **SQL语句**: ```sql SELECT ename, job FROM emp WHERE ename NOT LIKE '%R%'; ``` - **知识点**: - 使用`LIKE`操作符进行模式匹配。 - `NOT LIKE`用于排除指定模式的记录。 ...

    oracle数据库

    显示不带有'R'的雇员姓名 - **知识点**: 使用`LIKE`模式匹配。 - **实现方式**: `SELECT employee_name FROM employees WHERE employee_name NOT LIKE '%R%';` #### 14. 显示所有雇员的姓名的前三个字符 - **知识...

    Oracle练习1

    #### 十三、显示不带有R的员工姓名 - **SQL语句**:`SELECT * FROM emp WHERE ename NOT LIKE '%R%';` - 这条语句用于显示所有姓名中不含字母R的员工信息。 - `NOT LIKE '%R%'` 表示姓名中不包含字母R。 #### 十...

    Oracle的sql语句练习题含复习资料.docx

    #### 练习题13:显示不带有"R"的员工的姓名 **SQL语句**: ``` SELECT ename, job FROM emp WHERE ename NOT LIKE '%R%'; ``` **解析**: - `NOT LIKE`用于匹配不包含特定模式的字符串。 - **知识点**: - **...

    Oracle数据库基本操作练习题((含答案).docx

    12. **显示不带有“R”的员工姓名**: ```sql select ename from emp where ename not like '%R%'; ``` - `LIKE`和`NOT LIKE`用于模式匹配,这里用于筛选出姓名中不包含字母“R”的员工。 13. **显示所有员工的...

    SQL知识与40个实例

    13. **查询不带‘R’的雇员姓名** - **知识点**:`LIKE`运算符与通配符`%`的使用。 - **应用场景**:筛选特定模式的数据,例如在报告中排除某些姓名。 14. **查询所有雇员的姓名的前3个字符** - **知识点**:`...

    jpivot学习总结.doc

    nullParentValue 如果当前的 Level 是有上下级关系(设置了 parentColumn 属性),如果该 Level 又处于顶级,我们需要将顶级的数据取出来,这里指的是位于顶级的父成员的值,有些数据库不支持 null, 那么也可以使用...

Global site tag (gtag.js) - Google Analytics