আমি WHERE
এসকিউএল সার্ভারের একটি ধারাতে একই সাথে NULL এবং একটি খালি স্ট্রিং কীভাবে ব্যবহার করতে হয় তা জানতে চাই । আমাকে নাল মান বা একটি খালি স্ট্রিং রয়েছে এমন রেকর্ডগুলি সন্ধান করতে হবে। ধন্যবাদ।
আমি WHERE
এসকিউএল সার্ভারের একটি ধারাতে একই সাথে NULL এবং একটি খালি স্ট্রিং কীভাবে ব্যবহার করতে হয় তা জানতে চাই । আমাকে নাল মান বা একটি খালি স্ট্রিং রয়েছে এমন রেকর্ডগুলি সন্ধান করতে হবে। ধন্যবাদ।
উত্তর:
Select *
From Table
Where (col is null or col = '')
অথবা
Select *
From Table
Where IsNull(col, '') = ''
আপনি কেবল এটি করতে পারেন:
SELECT *
FROM yourTable
WHERE yourColumn IS NULL OR yourColumn = ''
আপনার যদি প্রয়োজন হয় নির্বাচন বিভাগে এটি ব্যবহার করতে পারেন।
SELECT ct.ID,
ISNULL(NULLIF(ct.LaunchDate, ''), null) [LaunchDate]
FROM [dbo].[CustomerTable] ct
আপনি null
আপনার প্রতিস্থাপন মান দিয়ে প্রতিস্থাপন করতে পারেন ।
SELECT *
FROM TableName
WHERE columnNAme IS NULL OR
LTRIM(RTRIM(columnName)) = ''
ltrim
এবং rtrim
যদি লক্ষ্যটি কেবল খালি স্ট্রিংয়ের সাথে তুলনা করা হয়। কারণ: যদি কেবলমাত্র শ্বেত স্থান থাকে তবে একটি ট্রিম এটি সমস্ত সরিয়ে ফেলবে। উদাহরণস্বরূপ, তুলনাটি ব্যর্থ হয় কিনা তা আপনি যত্নশীল না কারণ যা অবশিষ্ট রয়েছে তা "এবিসি" বা "এবিসি"।
কর্ন যেখানে রয়েছে সারিগুলি NULL
খালি স্ট্রিং বা হোয়াইটস্পেস (স্পেস, ট্যাব) সন্ধান করতে:
SELECT *
FROM table
WHERE ISNULL(LTRIM(RTRIM(col)),'')=''
কর্ন যেখানে রয়েছে সারিগুলি NOT NULL
খালি স্ট্রিং বা হোয়াইটস্পেস (স্পেস, ট্যাব) সন্ধান করতে:
SELECT *
FROM table
WHERE ISNULL(LTRIM(RTRIM(col)),'')<>''
কিছু সরগেবল পদ্ধতি ...
SELECT *
FROM #T
WHERE SomeCol = '' OR SomeCol IS NULL;
SELECT *
FROM #T
WHERE SomeCol = ''
UNION ALL
SELECT *
FROM #T
WHERE SomeCol IS NULL;
SELECT *
FROM #T
WHERE EXISTS ((SELECT NULL UNION SELECT '') INTERSECT SELECT SomeCol);
এবং কিছু অ-সরগেবল ...
SELECT *
FROM #T
WHERE IIF(SomeCol <> '',0,1) = 1;
SELECT *
FROM #T
WHERE NULLIF(SomeCol,'') IS NULL;
SELECT *
FROM #T
WHERE ISNULL(SomeCol,'') = '';
আমার সেরা সমাধান:
WHERE
COALESCE(char_length(fieldValue), 0) = 0
COALESCE এক্সপ্রেশন তালিকার প্রথম অ-নাল এক্সপ্রেসকে () প্রদান করে।
যদি ক্ষেত্রের মানটি নাল বা খালি স্ট্রিং থাকে: তবে আমরা দ্বিতীয় উপাদানটি 0 দিয়ে দেব।
সুতরাং 0 0 এর সমান হয় তবে এই ক্ষেত্রের মানটি নাল বা ফাঁকা স্ট্রিং।
উদাহরণস্বরূপ অজগরটিতে:
def coalesce(fieldValue):
if fieldValue in (null,''):
return 0
শুভকামনা
আপনি IS নাল সাথে নাল পরীক্ষা করুন এবং স্ট্রিং খালি দিয়ে লেন (আরটিআরআইএম (এলটিআরআইএম (কলাম)) = 0 ইন
SELECT *
FROM AppInfra.Person
WHERE LEN(RTRIM(LTRIM(NationalCode))) = 0 OR NationalCode IS NULL
select
isnull(column,'') column, *
from Table
Where column = ''
আপনি কোনও পাঠ্য ক্ষেত্রে isnull
উভয় null
এবং খালি মান পেতে ফাংশনটি ব্যবহার করতে পারেন :
SELECT * FROM myTable
WHERE isnull(my_nullable_text_field,'') = ''
--setup
IF OBJECT_ID('tempdb..#T') IS NOT NULL DROP TABLE #T;
CREATE TABLE #T(ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, NAME VARCHAR(10))
INSERT INTO #T (Name) VALUES('JOHN'),(''),(NULL);
SELECT * FROM #T
1 JOHN
2 -- is empty string
3 NULL
আপনি পরীক্ষা করতে পারেন ''
যেমন NULL
করে এটি রূপান্তর NULL
ব্যবহারNULLIF
--here you set '' to null
UPDATE #T SET NAME = NULLIF(NAME,'')
SELECT * FROM #T
1 JOHN
2 NULL
3 NULL
অথবা আপনি ব্যবহার NULL
হিসাবে পরীক্ষা করতে পারেন''
SELECT ISNULL(NULL,'')
-- here you set NULL to ''
UPDATE #T SET NAME = ISNULL(NULL,'') WHERE NAME IS NULL
SELECT * FROM #T
1 JOHN
2 -- is empty string
3 -- is empty string
--clean up
DROP TABLE #T
স্প্রোকে, আপনি নিম্নলিখিত শর্তটি ব্যবহার করতে পারেন:
DECLARE @USER_ID VARCAHR(15)=NULL --THIS VALUE IS NULL OR EMPTY DON'T MATTER
IF(COALESCE(@USER_ID,'')='')
PRINT 'HUSSAM'
এই ফাংশন দ্বারা:
ALTER FUNCTION [dbo].[isnull](@input nvarchar(50),@ret int = 0)
RETURNS int
AS
BEGIN
return (case when @input='' then @ret when @input is null then @ret else @input end)
END
এবং এটি ব্যবহার করুন:
dbo.isnull (মান, 0)
SELECT * FROM DBO.AGENDA
WHERE
--IF @DT_START IS NULL OR EMPTY
( ISNULL( @DT_START,'' ) = '' AND DT_START IS NOT NULL ) -- GET ALL DATE
OR --ELSE
( DT_START >= @DT_START ) --FILTER
-- MORE FILTER
SELECT * FROM DBO.AGENDA
WHERE
( ( ISNULL( @DT_START,'' ) = '' AND DT_START IS NOT NULL ) OR ( DT_START >= @DT_START ) )
AND
DT_END < GETDATE()