Rediger

AI_ANALYZE_SENTIMENT (Transact-SQL)

Applies to: SQL analytics endpoint in Microsoft Fabric and Warehouse in Microsoft Fabric

The AI_ANALYZE_SENTIMENT function analyzes input text and returns one of these sentiment labels: positive, negative, mixed, or neutral.

Note

  • AI_ANALYZE_SENTIMENT is in preview.
  • AI_ANALYZE_SENTIMENT is available only in SQL analytics endpoint and Warehouse in Microsoft Fabric.

Syntax

Transact-SQL syntax conventions

AI_ANALYZE_SENTIMENT ( text [ (NULL | ERROR | DEFAULT <value>) ON ERROR ] )

Arguments

text

An expression of a character type, for example nvarchar, varchar, nchar, or char.

ON ERROR

The ON ERROR clause controls how an AI function handles processing errors.

  • NULL ON ERROR returns NULL when the function can't process a value. This is the default behavior and doesn't need to be explicitly specified.
  • ERROR ON ERROR causes the entire query to fail if an error occurs while processing any input value.
  • DEFAULT <value> ON ERROR returns the specified default value instead of NULL when an error occurs.

Errors can be caused by Responsible AI safety checks, input size limits, transient service issues, or other processing failures.

Return types

Returns nvarchar with one of the following values:

  • positive
  • negative
  • mixed
  • neutral

Remarks

AI functions return NULL if the AI model can't process the text. Common reasons include:

  • Responsible AI rules block inappropriate content in the input text.
  • Input text exceeds token limits. The current model supports up to 15 KB of text.

Examples

A. Analyze sentiment in a string

SELECT ai_analyze_sentiment('This hotel was great!') AS sentiment;

Expected result: positive

B. Analyze sentiment from a table column

SELECT review_id,
       ai_analyze_sentiment(review_text ERROR ON ERROR) AS sentiment
FROM dbo.hotel_reviews;

The optional ERROR ON ERROR clause causes the query to fail if any input value cannot be processed.