当前位置: 代码迷 >> Oracle开发 >> Oracle 如何从右边截取字符串
  详细解决方案

Oracle 如何从右边截取字符串

热度:55   发布时间:2016-04-24 06:40:35.0
Oracle 怎么从右边截取字符串
我用sql server 这样写的 先想用ORACLE 不知道怎么截取
sql server:
DECLARE @sql VARCHAR(1000)
DECLARE @str VARCHAR(1000)
SET @sql ='filelist_pmd_mm_dd.20110913.013617.csv'

BEGIN
 SET @str = 'SELECT CAST(SUBSTRING(REPLACE(RIGHT('''+@sql+''',19),''_'',''''),1,8)AS DATETIME2(7))  as ss'
END 
EXEC (@str);
请问在oracle里怎么实现上面的
在orclae大概知道用subtr() 和instr()两个函数
------解决方案--------------------
CONCAT(column1
------解决方案--------------------
expression1,column2
------解决方案--------------------
expression2):相当于
------解决方案--------------------

SUBSTR(column
------解决方案--------------------
expression,m[,n]):返回字符串字符,从第m个字符开始,长度为n个字符;m为负数,则从末尾开始,省略n,则返回一直到末尾的所有字符

INSTR(column
------解决方案--------------------
expression,'string',[,m],[n]):返回指定字符串的数字位置。m:开始搜索的位置;n:字符串出现次数;m和n默认为1

INITCAP:将每个单词第一个字母转换为大写,其余字母保留小写

LPAD(column
------解决方案--------------------
expression, n, 'string'):将字符值按右对齐排列,然后左侧填充字符,以使总字符宽度为n

RPAD(column
------解决方案--------------------
expression, n, 'string'):将字符值按左对齐排列,然后右侧填充字符,以使总字符宽度为n

TRIM(leading
------解决方案--------------------
trailing
------解决方案--------------------
both, trim_character FROM trim_source):从字符串trim_source截取头部,尾部或者两头的字符trim_character

特殊用法:SELECT LOWER(TRIM('H' FROM 'HelloWorld')) FROM dual;

ROUND(column
------解决方案--------------------
expression,n):将列,表达式或者值进行四舍五入,保留n个小数位;n为负数,将四舍五入小数点左边;n默认为0

TRUNC(column
------解决方案--------------------
expression,n):将列,表达式或者值进行截取,保留n个小数位;n为负数,将截取小数点左边;n默认为0
------解决方案--------------------
请参考
select substr ('abcdefg-20110913.013617.csv',length('abcdefg-20110913.013617.csv')-18,8)
------解决方案--------------------
' 00:00:00.0000000' from dual
  相关解决方案