2017-04-02 111 views
0

我有一個帶有表的數據庫,其中包含有關我公司員工的信息。 我需要一個SQL語句來顯示所有名稱,其中有3個部分,如「haitham samey hegazy」,並且條件結果中未顯示少於或多於3個部分。 我嘗試使用像運算符,但它不起作用,我的數據庫是阿拉伯語。僅在SQL Server數據庫中顯示帶有3個字的名字

感謝您的幫助......

+0

歡迎來到SO。請顯示你的嘗試。請參閱http://stackoverflow.com/help/asking – MotKohn

回答

1

假設名稱用空格隔開,您可以使用獲得至少三個部分:

where name like '% % %' 

可以使用得到完全相同三個部分:

where name like '% % %' and name not like '% % % %' 
+0

感謝您的幫助 –

+0

第二個代碼運行良好 –

1

您可以使用替換來計算空格的數量:

SELECT * 
FROM Table 
WHERE LEN(LTRIM(RTRIM(varcharColumn))) - 
     LEN(REPLACE(LTRIM(RTRIM(varcharColumn)), ' ', '')) >= 2 

這將返回varcharColumn中至少有2個空格的所有行。

+0

我無法理解這些 –

+0

RTRIM和LTRIM刪除了前導和後續空格,LEN返回字符數字符串,並且REPLACE返回一個字符串,其中第一個參數中第二個參數的每個出現都被第三個參數替換。 –

+0

啊哈謝謝,我會試試看 –

相關問題