簡體   English   中英

PostgresSQL 10.6-函數子字符串和regexp_matches函數不存在

[英]PostgresSQL 10.6 - function substring & regexp_matches function does not exist

我已經安裝了Windows上安裝的PostgresSQL 10.6並使用DBeaver-通過“ SELECT VERSION()”確認了該版本。

由於某些原因,每當我嘗試使用SUBSTRING函數時,都會收到以下錯誤:

SQL錯誤[42883]:錯誤:函數pg_catalog.substring(字符變化,整數,字符變化,整數)不存在

對於REGEXP_MATCHES同樣

SQL錯誤[42883]:錯誤:函數regexp_matches(字符變化,文本,整數)不存在提示:沒有函數與給定的名稱和參數類型匹配。 您可能需要添加顯式類型轉換。

我認為我使用的語法與文檔匹配,例如REGEXP_MATCHES(source_string, pattern, 1)

有什么想法為什么Postgres會拋出這些錯誤?

我試圖錯誤地使用這些功能,從而拋出“該功能不存在”。 我想這意味着該函數確實存在,如果我想將其與嘗試使用的參數類型一起使用。

REGEXP_MATCHES(source_string,pattern,1)我理解為不區分大小寫的正則表達式匹配項(1)。 正如尼克·巴恩斯(Nick Barnes)在評論中指出的那樣,REGEXP_MATCHES采用(文本,文本,文本)。

我縮短了一個文本字段的長度,以檢查它是否存在於另一列中-而不是對col2使用SUBSTRING,我使用了LEFT(col2,10),而不是regexp_matches,我使用了(regexp_match(col1,col2))[1 ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM