我有一個帶有表的數據庫,其中包含有關我公司員工的信息。 我需要一個SQL語句來顯示所有名稱,其中有3個部分,如「haitham samey hegazy」,並且條件結果中未顯示少於或多於3個部分。 我嘗試使用像運算符,但它不起作用,我的數據庫是阿拉伯語。僅在SQL Server數據庫中顯示帶有3個字的名字
感謝您的幫助......
我有一個帶有表的數據庫,其中包含有關我公司員工的信息。 我需要一個SQL語句來顯示所有名稱,其中有3個部分,如「haitham samey hegazy」,並且條件結果中未顯示少於或多於3個部分。 我嘗試使用像運算符,但它不起作用,我的數據庫是阿拉伯語。僅在SQL Server數據庫中顯示帶有3個字的名字
感謝您的幫助......
假設名稱用空格隔開,您可以使用獲得至少三個部分:
where name like '% % %'
可以使用得到完全相同三個部分:
where name like '% % %' and name not like '% % % %'
感謝您的幫助 –
第二個代碼運行良好 –
您可以使用替換來計算空格的數量:
SELECT *
FROM Table
WHERE LEN(LTRIM(RTRIM(varcharColumn))) -
LEN(REPLACE(LTRIM(RTRIM(varcharColumn)), ' ', '')) >= 2
這將返回varcharColumn中至少有2個空格的所有行。
我無法理解這些 –
RTRIM和LTRIM刪除了前導和後續空格,LEN返回字符數字符串,並且REPLACE返回一個字符串,其中第一個參數中第二個參數的每個出現都被第三個參數替換。 –
啊哈謝謝,我會試試看 –
歡迎來到SO。請顯示你的嘗試。請參閱http://stackoverflow.com/help/asking – MotKohn