在做報表的時候,我們可能需要對字符串的現實格式進行控制,如大小寫的顯示格式。另外,在進行數據庫移植的時候,可能以前的收入大小寫不規范。數據庫管理員需要采用一定的規則來規范移植后的數據庫字符串書寫規范。為了簡化這些需求的實現方式,在Oracle數據庫中也提供了一些工具來解決這些問題。
如以前在輸入產品編號的時,可能大小寫不區分。而在前臺應用程序中也沒有進行這方面的控制。現在用戶希望所有的產品編號都為大寫,需要把原先是小寫的產品編號全部轉換成大寫。此時如果產品數量比較多的話,顯然利用手工修改的方式會增加工作量。如果編寫一個程序來實現的話,又太復雜,其實我們可以借鑒Oracle數據庫提供的字符串處理函數來實現。在單行字符函數集中,有一個函數UPPER,它的作用就是將全部字符串都改寫為大寫并返回。為此我們可以利用一個子查詢或者借助視圖的幫助,把所有產品編號中,如果含有小寫字符的產品編號都更新為大寫。如果原來就是大寫的,就保持原樣(而不是說原來大寫的變小寫,原來小寫的變大寫)。同理,既然小寫可以變大寫,那么大寫也就可以變為小寫。利用單行字符串函數LOWER,就可以把全部字符串改為小寫輸出(把大寫字母改為小寫,而小寫字符保持不變)。
另外一個大小寫的控制原則比較復雜,如對于一些英文地址或者英文名字之類的字符串,需要首個字母大寫,而其他字符小寫。這個實現起來就有一定的難度。還好在Oracle數據庫中提供了一個現成的解決方法,即利用Initchar函數來實現。這個函數的功能是將某個字段中每個單詞的首字符轉換為大小,其他字符都是小寫的字符串。通常情況下,這個字段之間的單詞可以利用空格、控制字符或則標點符號來表示。可見通過這個三個大小寫字符串控制函數,可以優化字符串的顯示格式,讓其顯示更加的規范。而結合Update語句的話,還可以成批的在數據庫中進行更新,讓其保存的數據也符合規范化的要求。
新聞熱點
疑難解答