sqlserver數據庫,使用substring函數截取不固定位置字符串。

sqlserver數據庫,使用substring函數截取不固定位置字符串。


當我們在向頁面寫入數據庫查詢出來的數據的時候,有一些不必要的字符串,相信大家肯定會在後臺的java代碼中進行處理再返回到頁面上。今天遇到一個無法使用後臺處理的功能,只能使用sql語句來進行處理。今天記錄一下,方便以後查詢。
在這裏插入圖片描述
上面是查詢出來的數據。現在想要將裏面的姓名取出來,但是使用截取的話,每個人的姓名長度可能會不一樣,有兩個字,或者四個字都有可能。所以截取的長度也就不一樣。
解決方法就是用sqlserver中charindex 函數,配合 substring來進行截取字符串。

substring(
      hv.TEXT_,
      charindex('】', hv.TEXT_) + 1,
      charindex(',', hv.TEXT_)- 5
    ) as newManager

這是截取字符串的代碼。給大家解釋一下什麼意思:
substring:數據庫中截取的函數。
hv.TEXT_:數據庫表中的字段名。
charindex(’】’, hv.TEXT_) + 1,:這段代碼,就是利用 charindex函數,計算出’ 】‘這個字符第一次出現位置的角標值是多少。
charindex(’,’, hv.TEXT_)-5:這是計算出 ‘,’這個字符第一次出現的角標置。
看圖:
在這裏插入圖片描述
至於加減的操作相信大家先按照sql查詢一下就會看明白。
over~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章