簡體   English   中英

比較 SQL 服務器中的兩個字符串

[英]comparing two strings in SQL Server

有什么方法可以比較 SQL Server 2008 存儲過程中的兩個字符串,如下所示?

int returnval = STRCMP(str1, str2)
  • 如果字符串相同則返回 0
  • 如果根據當前排序順序,第一個參數小於第二個參數,則返回 -1。
  • 否則返回 1。

我在 MySQL 但在 SQL 服務器中找不到上述方法。

SQL 服務器中沒有直接的字符串比較 function

CASE
  WHEN str1 = str2 THEN 0
  WHEN str1 < str2 THEN -1
  WHEN str1 > str2 THEN 1
  ELSE NULL --one of the strings is NULL so won't compare (added on edit)
END

筆記

  • 您可以使用 CREATE FUNCTION 等通過 UDF 包裝它
  • 您可能需要 NULL 處理(在我上面的代碼中,任何 NULL 都會報告 1)
  • str1 和 str2 將是列名或@variables

暫無
暫無

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

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