oracle截取日期类型的字符串,oracle截取字段中的部分字符串:日期格式转换

##从数据库中导出excel数据后,造数据,然后重新导入oracel数据库中,查询后显示导入成功

但是页面还是显示是老的数据,后来发现日期自动变化了2016-05-06变化为2016/05/06

导致无法显示

导入后错误的数据

1fd01135d40d23dc6506f5d345e88ab7.png

##更改日期格式语句:update T_JN_JSC_COMPLETOIN set

plan_date =substr(plan_date, 7, 11) ||’-’|| substr(plan_date, 0, 2) || ‘-’ || substr(plan_date, 4, 2)

where plan_date like ‘%/%’;

commit;

##这条语句可以吧日期替换为2016-05-06格式

1c451ae9a9f35721a9d80579b237a8ef.png

在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。

其语法为:

instr(sourceString,destString,start,appearPosition). instr(‘源字符串’ , ‘目标字符串’ ,‘开始位置’,‘第几次出现’)

其中sourceString代表源字符串;

destString代表想聪源字符串中查找的子串;

start代表查找的开始位置,该参数可选的,默认为1;

appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;

如果start的值为负数,那么代表从右往左进行查找,但是位置数据仍然从左向右计算。

返回值为:查找到的字符串的位置。

对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如:

SQL> select instr(‘yuechaotianyuechao’,‘ao’) position from dual;

POSITION

6

从第7个字符开始搜索

SQL> select instr(‘yuechaotianyuechao’,‘ao’, 7) position from dual;

POSITION

17

从第1个字符开始,搜索第2次出现子串的位置

SQL> select instr(‘yuechaotianyuechao’,‘ao’, 1, 2) position from dual;

POSITION

17

-------------------------------------------------------------

对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如:

SQL> select instr(‘abcdefgh’,‘de’) position from dual;

POSITION

----------

4

从1开始算 d排第四所以返回4

SQL>select instr(‘abcdefghbc’,‘bc’,3) position from dual;

POSITION

----------

9

从第3个字符开始算起 第3个字符是c,所以从3开始以后的字符串找查找bc,返回9

---------------------------

从第1个字符开始,查找第2次出现子串的位置

SQL> select instr(‘qinyinglianqin’,‘qin’, 1, 2) position from dual;

POSITION

----------

12

----------------------------------------------------------------------

注意:1。若‘起始位置’=0 时返回结果为0,

2。这里只有三个参数,意思是查找第一个要查找字符的位置(因为 ‘第几次出现’默认为1),

当‘起始位置’不大于要查找的第一个字符的位置时,返回的值都将是第一个字符的位置,如果‘起始位置’大于要查找的第一个字符的位置时,返回的值都将是第2个字符的位置,依此类推……(但是也是以第一个字符开始计数)

substr函数的用法,取得字符串中指定起始位置和长度的字符串 ,默认是从起始位置到结束的子串。

substr( string, start_position, [ length ] ) substr(‘目标字符串’,开始位置,长度)

如:

substr(‘This is a test’, 6, 2) would return ‘is’

substr(‘This is a test’, 6) would return ‘is a test’

substr(‘TechOnTheNet’, -3, 3) would return ‘Net’

substr(‘TechOnTheNet’, -6, 3) would return ‘The’select substr(‘Thisisatest’, -4, 2) value from dual

SUBSTR()函数

1.用处:是从给定的字符表达式或备注字段中返回一个子字符串。

2.语法格式:SUBSTR(cExpression,nStartPosition [,nCharactersReturned])

其中,cExpression指定要从其中返回字符串的字符表达式或备注字段;

nStartPosition用于指定返回的字符串在字符表达式或备注字段中的位置,

nCharactersReturned用于指定返回的字符数目,缺省时返回字符表达式的值结束前的全部字符。

3.举例:STORE’abcdefghijlkm’ To mystring

SUBSTR(mystring ,1,5) 显示 “abcde”  1 从第一个字符开始 截取的字符中,包括第一个字符

SUBSTR(mystring ,6) 显示 “fghijklm”

SUBSTR(mystring,-2)显示“km”   最右边一个字符是-1,最右边左边的字符是-2,然后默认是从左向有取剩下的全部的字符

SUBSTR(mystrng,-4)显示“jlkm”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值