SELECT
IsNull(user_Name, 'Unknown Name') AS user_Name,
IsNull(user_pass, 'Unknown Pass') AS user_pass,
IsNull(user_hometown, 'Unknown Hometown') AS user_hometown
FROM user_baseinfo
sich aber bewusst sein, dass IsNull
Vorrang des zweiten Arguments Typ hat. Dies kann zu einem unerwünschten Abschneiden des Standardwerts führen, wenn die Spalte im ersten Argument einen Typ hat, der kürzer ist als der Standardwert. In solchen Fällen ist Coalesce
die bessere Wahl.
Unten ist ein Beispiel zeigt den Unterschied zwischen IsNull
und Coalesce
:
CREATE TABLE #Sample (Value1 varchar(100), Value2 char(3));
INSERT INTO #Sample (Value1, Value2)
VALUES
('AAA', 'AAA'),
('BBB', 'BBB'),
('CCC', 'CCC'),
(NULL, NULL);
SELECT
IsNull(Value1, 'Default') AS Value1,
IsNull(Value2, 'Default') AS Value2
FROM #Sample;
SELECT
Coalesce(Value1, 'Default') AS Value1,
Coalesce(Value2, 'Default') AS Value2
FROM #Sample;
Sehen Sie, dass Default
Senkungen bis auf Def
wenn IsNull
verwendet wird.
vielen Dank – user2594582
@ user2594582 NP zu tun :) – zxc
kürzer: isnull (val1, val2) und auf diese Weise wird es Spaltenangabe respektieren , so einfügen von dieser Auswahl wird nicht wegen zu langer Ersatz fehlschlagen. –