欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PostgreSQL截取字符串到指定字符位置詳細示例

 更新時間:2023年07月21日 11:50:32   作者:若小魚  
這篇文章主要給大家介紹了關于PostgreSQL截取字符串到指定字符位置的相關資料,PostgreSQL數據庫拼接字符串函數是一種非常重要的函數,使用它可以方便地將不同的字符串進行拼接操作,從而得到我們需要的結果,需要的朋友可以參考下

今天在做PG數據到HIVE的數據交換任務時,因為某個字段在PG中是Varchar類型,hive是bigint,而偏偏PG 中該字段的存儲值都被加了小數點位,導致字段類型轉換失敗。

現在就需要將字符串中小數點后的部分給截掉。

開始時嘗試使用的是CHARINDEX來獲取小數點的位置,然后使用substring函數截取該位置之前的數值。

select CAST(SUBSTRING(sal_qty, 1 , CHARINDEX('.',sal_qty)-1)as bigint)

但是運行時發(fā)現PG中沒有CHARINDEX函數。

SQL 錯誤 [42883]: ERROR: function charindex(unknown, character varying) does not exist  建議:No function matches the given name and argument types. You might need to add explicit type casts.

在官方文檔中查找相應的替換函數

https://www.postgresql.org/docs/current/functions-string.html

找到一個position函數

position ( substring text IN string text ) → integer
Returns first starting index of the specified substring within string, or zero if it's not present.
position('om' in 'Thomas') → 3

測試一下

select sal_qty, cast(SUBSTRING(sal_qty, 1 , position ('.'  in sal_qty) - 1) as bigint) as sal_qty_int from table_test

返回結果,符合預期。

另外還可以嘗試使用strpos函數,功能和position相同,但要注意參數位置

strpos ( string text, substring text ) → integer
Returns first starting index of the specified substring within string, or zero if it's not present. (Same as position(substring in string), but note the reversed argument order.)
strpos('high', 'ig') → 2
select sal_qty, cast(SUBSTRING(sal_qty, 1 ,  strpos(sal_qty,'.')-1)as bigint) as sal_qty_int from table_test

 總結

到此這篇關于PostgreSQL截取字符串到指定字符位置的文章就介紹到這了,更多相關PGSQL截取字符串到指定位置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Postgresql 實現查詢一個表/所有表的所有列名

    Postgresql 實現查詢一個表/所有表的所有列名

    這篇文章主要介紹了Postgresql 實現查詢一個表/所有表的所有列名,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSql 重建索引的操作

    PostgreSql 重建索引的操作

    這篇文章主要介紹了PostgreSql 重建索引的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 詳解如何定位postgreSQL數據庫中未被使用過的索引

    詳解如何定位postgreSQL數據庫中未被使用過的索引

    在生產環(huán)境上,由于不規(guī)范的優(yōu)化措施,數據庫中可能存在大量的索引,并且相當一部分的索引重未被使用過,今天帶大家如何找出這些索引,本文給大家介紹了定位postgreSQL數據庫中未被使用過的索引的方法,需要的朋友可以參考下
    2024-03-03
  • PostgreSQL 實現定時job執(zhí)行(pgAgent)

    PostgreSQL 實現定時job執(zhí)行(pgAgent)

    這篇文章主要介紹了PostgreSQL 實現定時job執(zhí)行(pgAgent),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 詳解PostgreSql數據庫對象信息及應用

    詳解PostgreSql數據庫對象信息及應用

    這篇文章主要介紹了PostgreSql數據庫對象信息及應用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 解決postgreSql 將Varchar類型字段修改為Int類型報錯的問題

    解決postgreSql 將Varchar類型字段修改為Int類型報錯的問題

    這篇文章主要介紹了解決postgreSql 將Varchar類型字段修改為Int類型報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 在PostgreSQL中實現數據的自動清理和過期清理

    在PostgreSQL中實現數據的自動清理和過期清理

    在 PostgreSQL 中,可以通過多種方式實現數據的自動清理和過期處理,以確保數據庫不會因為存儲過多過時或不再需要的數據而導致性能下降和存儲空間浪費,本文給大家介紹了一些常見的方法及詳細示例,需要的朋友可以參考下
    2024-07-07
  • Debian中PostgreSQL數據庫安裝配置實例

    Debian中PostgreSQL數據庫安裝配置實例

    這篇文章主要介紹了Debian中PostgreSQL數據庫安裝配置實例,一個簡明教程,需要的朋友可以參考下
    2014-06-06
  • Ubuntu中卸載Postgresql出錯的解決方法

    Ubuntu中卸載Postgresql出錯的解決方法

    這篇文章主要給大家介紹了關于在Ubuntu中卸載Postgresql出錯的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • PostGresql 實現四舍五入、小數轉換、百分比的用法說明

    PostGresql 實現四舍五入、小數轉換、百分比的用法說明

    這篇文章主要介紹了PostGresql 實現四舍五入、小數轉換、百分比的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論