我遇到一個SQL查詢問題,它必須與包含所有用戶用戶名的列的用戶名相匹配。SQL與雙管道級聯一樣
所以列將包含類似:
|USER1|USER2|USER3|USER11|USER22|
用戶對左邊和右邊的管道,以防止「USER1」進行匹配,即使在「USER11」。
我的查詢是
SELECT * FROM myTable WHERE CONCATUSERS LIKE ('%|' || 'USER1' || '|%')
注意,USER1查詢是從我們的代碼所產生的變動,所以我必須保持串聯語法,我必須使用標準的語法太(代碼將在運行mysql ,SQLServer的等。
那麼,什麼是在LIKE子句中連接字符串的正確方法是什麼?
MySQL和SQL服務器有字符串連接不同的運營商 - 尤其是你在找哪一個? –
我必須使用一個適用於兩者,我發現雙管應該是標準的 –
不幸的是,儘管它是一個SQL「標準」,它不支持在SQL Server中。它在MySQL中受支持,但必須明確啓用。 SQL 2012及更高版本確實支持CONCAT,因此如果您可以限制爲該版本,那麼您可以同時支持這兩個版本。 –