এটি নেট .০.০ (কোনও লিনকিউ নয়) তে করার জন্য, যেমন এসকিউএল-সার্ভারের প্রতিবেদন সার্ভিসগুলির জন্য এটির জন্য কোনও ফাংশন না লিখে:
ভিবি.এনইটি
Dim a As String = "", b As String = "b", c As String = "", d As String = "d", e As String = ""
Dim lala As String = String.Join(" / ", String.Join(vbBack, New String() {a, b, c, d, e}).Split(New Char() {ControlChars.Back}, System.StringSplitOptions.RemoveEmptyEntries))
System.Console.WriteLine(lala)
সি # (যারা গুগল থেকে অবতরণ করছেন এবং ভিবি.এনইটি অনুসন্ধান করছেন না তাদের জন্য)
string a = "", b = "b", c = "", d = "d", e = "";
string lala = string.Join(" / ",
string.Join("\u0008",
new string[] { a, b, c, d, e }
).Split(new char[] {
);
System.Console.WriteLine(lala);
এটি ধরে নিয়েছে যে অক্ষর ব্যাকস্পেসটি আপনার স্ট্রিংগুলিতে ঘটে না (সাধারণত সত্য হওয়া উচিত, কারণ আপনি কেবল কীবোর্ড দ্বারা এই অক্ষরটি প্রবেশ করতে পারবেন না)।
এছাড়াও, যদি আপনি কোনও ডাটাবেস থেকে মানগুলি পান তবে এটি আরও সহজ, যেহেতু আপনি সরাসরি এসকিউএল এ এটি করতে পারেন:
পোস্টগ্রিজ এসকিউএল এবং মাইএসকিউএল:
SELECT
concat_ws(
, NULLIF(searchTerm1,
, NULLIF(searchTerm2,
, NULLIF(searchTerm3,
, NULLIF(searchTerm4,
) AS RPT_SearchTerms;
এমনকি গৌরবময় এমএস-এসকিউএল-সার্ভারের মাধ্যমে এটিও সম্ভব (পিএস: এটি ব্যঙ্গাত্মক):
DECLARE @in_SearchTerm1 nvarchar(100)
DECLARE @in_SearchTerm2 nvarchar(100)
DECLARE @in_SearchTerm3 nvarchar(100)
DECLARE @in_SearchTerm4 nvarchar(100)
SET @in_SearchTerm1 = N
SET @in_SearchTerm2 = N
SET @in_SearchTerm3 = N
SET @in_SearchTerm4 = N
SELECT
COALESCE
(
STUFF
(
(
SELECT
FROM
(
SELECT NULLIF(@in_SearchTerm1, N
UNION ALL SELECT NULLIF(@in_SearchTerm2, N
UNION ALL SELECT NULLIF(@in_SearchTerm3, N
UNION ALL SELECT NULLIF(@in_SearchTerm4, N
) AS tempT
WHERE RPT_SearchTerm IS NOT NULL
ORDER BY RPT_Sort
FOR XML PATH(N
).value(
,1
,3
,N
)
,N
) AS RPT_SearchTerms