我在SQL中有一列是varchar。我需要它返回任何有價值的東西。返回不爲空或空的varchars SQL
例...
select * from students where StudentID <> ''
這是做它的正確方法是什麼?我試過的不是null,但是它返回的東西也是空的。
感謝
我在SQL中有一列是varchar。我需要它返回任何有價值的東西。返回不爲空或空的varchars SQL
例...
select * from students where StudentID <> ''
這是做它的正確方法是什麼?我試過的不是null,但是它返回的東西也是空的。
感謝
我會建議使用聚結:
select * from students where coalesce(StudentID, '') <> ''
這將轉空爲空字符串,並禁止他們。這還有限制空字符串的額外好處。
空不等於任何東西,甚至沒有空,所以簡單的<>
不起作用。
有一些電話NOT NULL
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NOT NULL
是幫助?
試試這個:
SELECT * FROM學生那裏StudentID不爲空
select * from students where StudentID <> '' AND StudentID IS NOT NULL
您可以同時指定空白和空白。
您必須處理不單獨爲空的情況,因爲您無法與空值進行比較。他們既不平等也不等於任何其他價值(包括零)。 NULL
的意思是「未知值」,因此與任何實際值任何比較是沒有意義的
....
WHERE StudentID IS NOT NULL AND StudentID <> ''
你可以使用ISNULL(StudentID,'') <> ''
(或COALESCE
)。但我認爲這樣更有效率。
嘗試使用ISNULL()
select * from student where isnull(studentid,'') <> ''
只注意到你說「不空」返回空的東西,以及。 。 。它適用於我,但也許你在該領域也有一些空白。在這種情況下,您需要修剪空白。 。 。 – 2014-10-27 22:45:49