提供意見
  
   
 
  
    
      Cloud SQL 函式 
  
  
  
   
  
    
  
  
    
    
    
    
  
  
  
    
  
  
    
  
MySQL   |   PostgreSQL   |   SQL Server 
 
本頁面說明 Cloud SQL 函式。
向量轉換函式 
下表列出可用於操控 SELECT 陳述式中向量資訊的函式。
  
   功能 
    
   說明  
  
   vector_to_string 輸入:VECTOR 
    輸出:STRING 
    
   將引數轉換為使用者可判讀的向量格式字串。
   輸入: 一個 VECTOR 類型的引數
   輸出: 字串
   語法:
   vector_to_string(some_embedding )
    
   
  
   string_to_vector 輸入:STRING 
    輸出:VECTOR 
    
   將字串轉換為使用者可理解的向量格式。這樣您就能在向量中寫入要表示的值。輸入: 字串
    語法:
    string_to_vector('some_embedding ')
    輸出: 一個向量類型的值。
    
   
搜尋功能 
本節說明 Cloud SQL 搜尋函式。
KNN 函式 
下表列出可用於計算 KNN 向量距離的函式。
  
   功能 資料類型 說明  
  
   vector_distance 輸入:VECTOR 
    輸出:REAL 
    
   計算兩個 VECTOR 之間的向量距離。這兩個 VECTOR 的尺寸必須相同。輸入 :必填。接受兩個向量值。選用的第三個字串引數表示距離測量值。預設值為 `l2_squared_distance`。其他選項包括 `cosine_distance` 和 `dot_product`。
    輸出 :兩個向量之間的距離。
    例如:
    
    SELECT vector_distance(string_to_vector('[1,-2,3]'), string_to_vector('[1,2,3]'), 'Distance_Measure=dot_product');
    
    
   
  
   cosine_distance 輸入:VECTOR 
    輸出:REAL 
    
   計算兩個向量夾角餘弦值的演算法。值越小,表示向量之間的相似度越高。輸入 :取用兩個向量值。可以是資料欄名稱或常數。
    輸出 :兩個向量之間的餘弦距離。
    例如:
    SELECT cosine_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
    
    SELECT id
    FROM t1
    ORDER BY cosine_distance(string_to_vector('[1,2,3]'), embedding_column_name)
    LIMIT 10;
    
   
  
   dot_product 輸入:VECTOR 
    輸出:REAL 
    
   這個演算法會在兩個輸入向量之間執行點積運算,藉此計算並輸出單一純量值。輸入 :取用兩個向量值。可以是資料欄名稱或常數。
   輸出 :兩個向量的點積。
   例如:
   SELECT dot_product(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
   SELECT id FROM t1 ORDER BY dot_product(string_to_vector('[1,2,3]'), embbeding_column_name) LIMIT 10;
    
   
  
   l2_squared_distance 輸入:VECTOR 
    輸出:REAL 
    
   這個演算法會將兩個輸入向量之間每個維度的平方距離相加,藉此測量兩者之間的歐幾里得距離。輸入 :取用兩個向量值。可以是資料欄名稱或常數。
   輸出 :兩個向量之間的 L2 平方距離。
   例如:
   SELECT l2_squared_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
   
   SELECT id
   FROM t1
   ORDER BY l2_squared_distance(string_to_vector('[1,2,3]'), embbeding_column_name)
   LIMIT 10;
    
   
ANN 函式 
下表列出可用於計算向量距離的函式。
  
   函式 
   資料類型 
   說明 
   
  
   approx_distance 輸入:VECTOR 
    輸出:REAL 
    
   使用所選演算法,找出前 K 個最接近且符合距離測量的資料列。這項函式會從向量欄查詢常數值的約略最鄰近項目。兩個嵌入資料欄的 VECTOR 類型和常數 VECTOR 必須具有相同維度。在某些情況下,這項函式會改用 KNN (精確搜尋) 搜尋,而非 ANN 搜尋。使用這項函式的查詢必須包含限制。語法: 
   approx_distance(embedding_name ,query_vector ,algorithm_name value ]'
   輸入: 
     
       embedding_name:基礎資料表的向量嵌入資料欄名稱。 
       query_vector:`VECTOR` 類型的常數,可以是 (但不一定要是) string_to_vector 的輸出內容。 
       以半形逗號分隔的搜尋字串選項包括:
        
        例如:
        'distance_measure=dot_product,
        必要 LIMIT 值: 指定的限制會做為要傳回的鄰近項目數量 (也稱為前 K 個)。
        輸出 :基礎資料表中前 K 個最接近資料列的大致距離。
        這項函式只能在 ORDER BY 或 SELECT 清單中使用。
        例如:
        SELECT id, approx_distance(embedding_column_name 
        SELECT id
       
       
    
   
後續步驟 
  
  
  
     
  
    
    
      
       
         
  
  
    
    提供意見
  
   
 
       
    
    
  
  
 
  除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
  上次更新時間:2025-10-19 (世界標準時間)。
 
 
  
  
    
    
    
      
  
  
    想進一步說明嗎?
  
   
 
     
  
  
    
      [[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-10-19 (世界標準時間)。"],[],[]]