日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java oracle 连接字符串函数_通过shell来比较oracle和java中的字符串使用

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java oracle 连接字符串函数_通过shell来比较oracle和java中的字符串使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這些準備工作齊了之后,我們來從Java中的字符串使用入手來比較一下oracle中對于字符串的處理。

java中有如下的一些函數,我會依次來做比較。

public char charAt(int index)

返回字符串中第index個字符;

oracle中可以使用substr來簡單實現,需要注意兩種方式的下標,在java的charAt中是以0開始,而在oracle中的substr中則是以1開始計數的。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd").charAt(2)'

c

[ora11g@rac1 ~]$ ksh test2.sh "substr('abcd',3,1)"

S

-

c

public int length()

返回字符串的長度;

oracle中可以使用length函數,使用方式也是很類似的。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd").length()'

4

[ora11g@rac1 ~]$ ksh test2.sh "length('abcd')"

LENGTH('ABCD')

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

4

public int indexOf(String str)

返回字符串中第一次出現str的位置;

oracle中可以使用instr來模擬實現,而且oracle可以更加的靈活。注意下標的不同

ksh test1.sh 'new String("abcdc").indexOf("c")'

2

[ora11g@rac1 ~]$ ksh test2.sh "instr('abcdc','c',1,1)"

INSTR('ABCDC','C',1,1)

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

3

順便擴展一下,oracle中如果要得到某個字符串第幾次出現的下標,相對就更直接了,比如字符串“abcdc"中第二次出現字符c的下標

[ora11g@rac1 ~]$ ksh test2.sh "instr('abcdc','c',1,2)"

INSTR('ABCDC','C',1,2)

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

5

public int indexOf(String str,int fromIndex)

返回字符串從fromIndex開始第一次出現str的位置;

oracle中還是使用Instr,而且使用方法和上例類似。

我們對字符串abcd從下標為1,即字符b所對應的下標開始。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcdc").indexOf("c",1)'

2

[ora11g@rac1 ~]$ ksh test2.sh "instr('abcdc','c',2,1)"

INSTR('ABCDC','C',2,1)

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

3

public boolean equalsIgnoreCase(String another)

比較字符串與another是否一樣(忽略大小寫);

oracle中實現方式略有不同,不過可以直接轉換為大寫或者小寫即可。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd").equalsIgnoreCase("abcD")'

true

SQL> select 1 from dual where upper('abcD')='ABCD';

1

----------

1

public String replace(char oldchar,char newChar)

在字符串中用newChar字符替換oldChar字符

oracle中的使用也有replace函數,用法也是一致的。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd").replace("c","g")'

abgd

[ora11g@rac1 ~]$ ksh test2.sh "replace('abcd','c','g')"

REPL

----

abgd

public boolean startsWith(String prefix)

判斷字符串是否以prefix字符串開頭;

public boolean endsWith(String suffix)

判斷一個字符串是否以suffix字符串結尾;

oracle中的實現可以通過匹配符%來實現,也可以使用正則表達式。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd").startsWith("a")'

true

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd").endsWith("d")'

true

SQL> select 1 from dual where 'abcd' like 'a%';

1

----------

1

SQL> select 1 from dual where 'abcd' like '%d';

1

----------

1

public String toUpperCase()

返回一個字符串為該字符串的大寫形式;

public String toLowerCase()

返回一個字符串為該字符串的小寫形式

oracle中有upper()和lower()方法,用法效果是一致的。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd").toUpperCase()'

ABCD

[ora11g@rac1 ~]$ ksh test1.sh 'new String("ABcd").toLowerCase()'

abcd

[ora11g@rac1 ~]$ ksh test2.sh "upper('abcd')"

UPPE

----

ABCD

[ora11g@rac1 ~]$ ksh test2.sh "lower('ABcd')"

LOWE

----

abcd

public String substring(int beginIndex)

返回該字符串從beginIndex開始到結尾的子字符串;

public String substring(int beginIndex,int endIndex)

返回該字符串從beginIndex開始到endsIndex結尾的子字符串

oracle中也有substring,相比來說功能要更豐富,注意在java中是substring,而在oracle是substr

[ora11g@rac1 ~]$ ksh test1.sh 'new String("ABcd").substring(1)'

Bcd

[ora11g@rac1 ~]$ ksh test2.sh "substr('ABcd',1)"

SUBS

----

ABcd

[ora11g@rac1 ~]$ ksh test1.sh 'new String("ABcd").substring(1,2)'

B

[ora11g@rac1 ~]$ ksh test1.sh 'new String("ABcd").substring(1,3)' ? ? --注意這種用法的下標,當下標為(1,3)時,才會輸出下標為1和2的字符。

Bc

[ora11g@rac1 ~]$ ksh test2.sh "substr('ABcd',1,2)" ? --注意oracle中的小標是從1開始,最后的參數2代表需要截取的字符串長度為2,所以截取了AB

SU

--

AB

public String trim()

返回該字符串去掉開頭和結尾空格后的字符串

oracle中有trim函數,而且還有ltrim,rtrim等支持的功能也要豐富一些。

[ora11g@rac1 ~]$ ksh test1.sh 'new String("abcd ").trim()'

abcd

[ora11g@rac1 ~]$ ksh test2.sh "trim('abcd ')"

TRIM

----

abcd

ltrim就是截取左邊的空白字符,rtrim就是截取右邊的空白字符。

[ora11g@rac1 ~]$ ksh test2.sh "ltrim(' abcd')"

LTRI

----

abcd

public String[] split(String regex)

將一個字符串按照指定的分隔符分隔,返回分隔后的字符串數組

oracle中目前沒有發現有現成的方法實現,只能自己DIY通過pl/sql來實現,內部也是在使用substr來遞歸解析。

下面的例子會將字符串”abcd abcd"以空格分割,最后返回的是一個數組,我們來看看里面的內容。

總結

以上是生活随笔為你收集整理的java oracle 连接字符串函数_通过shell来比较oracle和java中的字符串使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。