3

null許容のvarcharがあり、nullの場合でも、selectがnullではなく空の文字列を返すようにします。あれは

SELECT FIRST, LAST 
FROM CUSTOMER

私が欲しいFIRSTのは、がnullの場合、リターンを""

4

5 に答える 5

6

使用することもできます

SELECT COALESCE(FIRST, ''), LAST FROM CUSTOMER

これには、移植性が高いという利点があります(COALESCEはSQL標準の一部ですが、ISNULLはそうではありません)

次のように、任意の数の引数を使用することもできます。

SELECT COALESCE(FIRST, SECOND, THIRD, '')...

そして、COALESCEは最初に検出されたnull以外の値を使用します

于 2012-09-18T00:50:39.863 に答える
5
SELECT isnull(FIRST,'') AS FIRST, LAST FROM CUSTOMER
于 2012-09-18T00:48:52.133 に答える
1
select isNull(First,'') from customer
于 2012-09-18T00:49:41.673 に答える
1
SELECT COALESCE(FIRST, ''), LAST FROM CUSTOMER

も動作します

于 2012-09-18T00:51:14.560 に答える
0
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
于 2013-07-16T18:24:37.237 に答える