null許容のvarcharがあり、nullの場合でも、selectがnullではなく空の文字列を返すようにします。あれは
SELECT FIRST, LAST
FROM CUSTOMER
私が欲しいFIRST
のは、がnullの場合、リターンを""
null許容のvarcharがあり、nullの場合でも、selectがnullではなく空の文字列を返すようにします。あれは
SELECT FIRST, LAST
FROM CUSTOMER
私が欲しいFIRST
のは、がnullの場合、リターンを""
使用することもできます
SELECT COALESCE(FIRST, ''), LAST FROM CUSTOMER
これには、移植性が高いという利点があります(COALESCEはSQL標準の一部ですが、ISNULLはそうではありません)
次のように、任意の数の引数を使用することもできます。
SELECT COALESCE(FIRST, SECOND, THIRD, '')...
そして、COALESCEは最初に検出されたnull以外の値を使用します
SELECT isnull(FIRST,'') AS FIRST, LAST FROM CUSTOMER
select isNull(First,'') from customer
SELECT COALESCE(FIRST, ''), LAST FROM CUSTOMER
も動作します
CREATE FUNCTION [dbo].[ParamParserFn]
(
@delimString VARCHAR(255) ,
@delim CHAR(1)
)
RETURNS @paramtable TABLE
(
[Index] INT ,
[Token] INT
)
AS
BEGIN
DECLARE @len INT ,
@index INT ,
@nextindex INT ,
@counter INT ,
@data VARCHAR(50)
SET @len = DATALENGTH(@delimString)
SET @index = 0
SET @nextindex = 0
SET @counter = 0
WHILE ( @len + 1 > @index )
BEGIN
SET @nextindex = CHARINDEX(@delim, @delimString, @index)
IF ( @nextindex = 0 )
SET @nextindex = @len + 1
INSERT @paramtable
SELECT @counter ,
SUBSTRING(@delimString, @index,
@nextindex - @index)
SELECT @index = @nextindex + 1 ,
@counter = @counter + 1
END
RETURN
END