SUSER_NAME() and CURRENT_USER











up vote
0
down vote

favorite












What is the difference between SUSER_NAME() and CURRENT_USER?










share|improve this question




















  • 3




    Can't you run both and see the difference between them?
    – Sami
    Nov 20 at 18:09










  • @HimanshuAhuja: Why multiple rows, it will never change within a Select.
    – dnoeth
    Nov 20 at 18:17















up vote
0
down vote

favorite












What is the difference between SUSER_NAME() and CURRENT_USER?










share|improve this question




















  • 3




    Can't you run both and see the difference between them?
    – Sami
    Nov 20 at 18:09










  • @HimanshuAhuja: Why multiple rows, it will never change within a Select.
    – dnoeth
    Nov 20 at 18:17













up vote
0
down vote

favorite









up vote
0
down vote

favorite











What is the difference between SUSER_NAME() and CURRENT_USER?










share|improve this question















What is the difference between SUSER_NAME() and CURRENT_USER?







sql sql-server tsql






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 20 at 18:30









Rahul Neekhra

6021627




6021627










asked Nov 20 at 18:04









Passiontolearn

386




386








  • 3




    Can't you run both and see the difference between them?
    – Sami
    Nov 20 at 18:09










  • @HimanshuAhuja: Why multiple rows, it will never change within a Select.
    – dnoeth
    Nov 20 at 18:17














  • 3




    Can't you run both and see the difference between them?
    – Sami
    Nov 20 at 18:09










  • @HimanshuAhuja: Why multiple rows, it will never change within a Select.
    – dnoeth
    Nov 20 at 18:17








3




3




Can't you run both and see the difference between them?
– Sami
Nov 20 at 18:09




Can't you run both and see the difference between them?
– Sami
Nov 20 at 18:09












@HimanshuAhuja: Why multiple rows, it will never change within a Select.
– dnoeth
Nov 20 at 18:17




@HimanshuAhuja: Why multiple rows, it will never change within a Select.
– dnoeth
Nov 20 at 18:17












3 Answers
3






active

oldest

votes

















up vote
1
down vote



accepted












  • CURRENT_USER


    This function returns the name of the current user. This function is equivalent to USER_NAME().





It will return the UserName in the database.




  • SUSER_NAME([server_user_id])



Returns the login identification name of the user.






Differences table:



+--------------------------------------+---------------------------------------------------+
| CURRENT_USER | SUSER_NAME([server_user_id]) |
+--------------------------------------+---------------------------------------------------+
| Returns the name of the current user | Returns the login identification name of the user |
| No parameters | The paramater is optional |
| Return sysname | Return nvarchar(128) |
| No need to parentheses | Must call it with parentheses |
+--------------------------------------+---------------------------------------------------+




For example run this query and see the results:



SELECT CURRENT_USER, --or USER_NAME() parameter is optional
SUSER_NAME(4) --parameter is optional





share|improve this answer























  • Well, the OP asked about SUSER_NAME
    – dnoeth
    Nov 20 at 18:17


















up vote
1
down vote













CURRENT_USER returns the name of the current security context and expects no parameters. It is functionally equivalent to USER_NAME()



Whereas SUSER_NAME() will return the login identification name of the user - you can pass a server_user_id to return detail of the user or pass nothing to return detail about the current user.



Detail is here and here



You could run the following to see the differences yourself:



SELECT SUSER_NAME();
SELECT CURRENT_USER;





share|improve this answer




























    up vote
    0
    down vote













    The Current_User will return the name of the user in the database whereas SUSER_NAME() will return the user name on the server. This is the major difference between the two. And as you can see Current_user has no arguments whereas SUSER_NAME() has.






    share|improve this answer























    • SUSER_NAME() won't return just the LogIn Name, try SELECT SUSER_NAME(4), it returns the login identification name of the user.
      – Sami
      Nov 20 at 18:25










    • I edited that now.
      – Himanshu Ahuja
      Nov 20 at 18:26











    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53398942%2fsuser-name-and-current-user%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote



    accepted












    • CURRENT_USER


      This function returns the name of the current user. This function is equivalent to USER_NAME().





    It will return the UserName in the database.




    • SUSER_NAME([server_user_id])



    Returns the login identification name of the user.






    Differences table:



    +--------------------------------------+---------------------------------------------------+
    | CURRENT_USER | SUSER_NAME([server_user_id]) |
    +--------------------------------------+---------------------------------------------------+
    | Returns the name of the current user | Returns the login identification name of the user |
    | No parameters | The paramater is optional |
    | Return sysname | Return nvarchar(128) |
    | No need to parentheses | Must call it with parentheses |
    +--------------------------------------+---------------------------------------------------+




    For example run this query and see the results:



    SELECT CURRENT_USER, --or USER_NAME() parameter is optional
    SUSER_NAME(4) --parameter is optional





    share|improve this answer























    • Well, the OP asked about SUSER_NAME
      – dnoeth
      Nov 20 at 18:17















    up vote
    1
    down vote



    accepted












    • CURRENT_USER


      This function returns the name of the current user. This function is equivalent to USER_NAME().





    It will return the UserName in the database.




    • SUSER_NAME([server_user_id])



    Returns the login identification name of the user.






    Differences table:



    +--------------------------------------+---------------------------------------------------+
    | CURRENT_USER | SUSER_NAME([server_user_id]) |
    +--------------------------------------+---------------------------------------------------+
    | Returns the name of the current user | Returns the login identification name of the user |
    | No parameters | The paramater is optional |
    | Return sysname | Return nvarchar(128) |
    | No need to parentheses | Must call it with parentheses |
    +--------------------------------------+---------------------------------------------------+




    For example run this query and see the results:



    SELECT CURRENT_USER, --or USER_NAME() parameter is optional
    SUSER_NAME(4) --parameter is optional





    share|improve this answer























    • Well, the OP asked about SUSER_NAME
      – dnoeth
      Nov 20 at 18:17













    up vote
    1
    down vote



    accepted







    up vote
    1
    down vote



    accepted








    • CURRENT_USER


      This function returns the name of the current user. This function is equivalent to USER_NAME().





    It will return the UserName in the database.




    • SUSER_NAME([server_user_id])



    Returns the login identification name of the user.






    Differences table:



    +--------------------------------------+---------------------------------------------------+
    | CURRENT_USER | SUSER_NAME([server_user_id]) |
    +--------------------------------------+---------------------------------------------------+
    | Returns the name of the current user | Returns the login identification name of the user |
    | No parameters | The paramater is optional |
    | Return sysname | Return nvarchar(128) |
    | No need to parentheses | Must call it with parentheses |
    +--------------------------------------+---------------------------------------------------+




    For example run this query and see the results:



    SELECT CURRENT_USER, --or USER_NAME() parameter is optional
    SUSER_NAME(4) --parameter is optional





    share|improve this answer
















    • CURRENT_USER


      This function returns the name of the current user. This function is equivalent to USER_NAME().





    It will return the UserName in the database.




    • SUSER_NAME([server_user_id])



    Returns the login identification name of the user.






    Differences table:



    +--------------------------------------+---------------------------------------------------+
    | CURRENT_USER | SUSER_NAME([server_user_id]) |
    +--------------------------------------+---------------------------------------------------+
    | Returns the name of the current user | Returns the login identification name of the user |
    | No parameters | The paramater is optional |
    | Return sysname | Return nvarchar(128) |
    | No need to parentheses | Must call it with parentheses |
    +--------------------------------------+---------------------------------------------------+




    For example run this query and see the results:



    SELECT CURRENT_USER, --or USER_NAME() parameter is optional
    SUSER_NAME(4) --parameter is optional






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 20 at 18:58

























    answered Nov 20 at 18:17









    Sami

    7,23431039




    7,23431039












    • Well, the OP asked about SUSER_NAME
      – dnoeth
      Nov 20 at 18:17


















    • Well, the OP asked about SUSER_NAME
      – dnoeth
      Nov 20 at 18:17
















    Well, the OP asked about SUSER_NAME
    – dnoeth
    Nov 20 at 18:17




    Well, the OP asked about SUSER_NAME
    – dnoeth
    Nov 20 at 18:17












    up vote
    1
    down vote













    CURRENT_USER returns the name of the current security context and expects no parameters. It is functionally equivalent to USER_NAME()



    Whereas SUSER_NAME() will return the login identification name of the user - you can pass a server_user_id to return detail of the user or pass nothing to return detail about the current user.



    Detail is here and here



    You could run the following to see the differences yourself:



    SELECT SUSER_NAME();
    SELECT CURRENT_USER;





    share|improve this answer

























      up vote
      1
      down vote













      CURRENT_USER returns the name of the current security context and expects no parameters. It is functionally equivalent to USER_NAME()



      Whereas SUSER_NAME() will return the login identification name of the user - you can pass a server_user_id to return detail of the user or pass nothing to return detail about the current user.



      Detail is here and here



      You could run the following to see the differences yourself:



      SELECT SUSER_NAME();
      SELECT CURRENT_USER;





      share|improve this answer























        up vote
        1
        down vote










        up vote
        1
        down vote









        CURRENT_USER returns the name of the current security context and expects no parameters. It is functionally equivalent to USER_NAME()



        Whereas SUSER_NAME() will return the login identification name of the user - you can pass a server_user_id to return detail of the user or pass nothing to return detail about the current user.



        Detail is here and here



        You could run the following to see the differences yourself:



        SELECT SUSER_NAME();
        SELECT CURRENT_USER;





        share|improve this answer












        CURRENT_USER returns the name of the current security context and expects no parameters. It is functionally equivalent to USER_NAME()



        Whereas SUSER_NAME() will return the login identification name of the user - you can pass a server_user_id to return detail of the user or pass nothing to return detail about the current user.



        Detail is here and here



        You could run the following to see the differences yourself:



        SELECT SUSER_NAME();
        SELECT CURRENT_USER;






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 20 at 18:24









        Matt

        616925




        616925






















            up vote
            0
            down vote













            The Current_User will return the name of the user in the database whereas SUSER_NAME() will return the user name on the server. This is the major difference between the two. And as you can see Current_user has no arguments whereas SUSER_NAME() has.






            share|improve this answer























            • SUSER_NAME() won't return just the LogIn Name, try SELECT SUSER_NAME(4), it returns the login identification name of the user.
              – Sami
              Nov 20 at 18:25










            • I edited that now.
              – Himanshu Ahuja
              Nov 20 at 18:26















            up vote
            0
            down vote













            The Current_User will return the name of the user in the database whereas SUSER_NAME() will return the user name on the server. This is the major difference between the two. And as you can see Current_user has no arguments whereas SUSER_NAME() has.






            share|improve this answer























            • SUSER_NAME() won't return just the LogIn Name, try SELECT SUSER_NAME(4), it returns the login identification name of the user.
              – Sami
              Nov 20 at 18:25










            • I edited that now.
              – Himanshu Ahuja
              Nov 20 at 18:26













            up vote
            0
            down vote










            up vote
            0
            down vote









            The Current_User will return the name of the user in the database whereas SUSER_NAME() will return the user name on the server. This is the major difference between the two. And as you can see Current_user has no arguments whereas SUSER_NAME() has.






            share|improve this answer














            The Current_User will return the name of the user in the database whereas SUSER_NAME() will return the user name on the server. This is the major difference between the two. And as you can see Current_user has no arguments whereas SUSER_NAME() has.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 20 at 18:25

























            answered Nov 20 at 18:23









            Himanshu Ahuja

            1




            1












            • SUSER_NAME() won't return just the LogIn Name, try SELECT SUSER_NAME(4), it returns the login identification name of the user.
              – Sami
              Nov 20 at 18:25










            • I edited that now.
              – Himanshu Ahuja
              Nov 20 at 18:26


















            • SUSER_NAME() won't return just the LogIn Name, try SELECT SUSER_NAME(4), it returns the login identification name of the user.
              – Sami
              Nov 20 at 18:25










            • I edited that now.
              – Himanshu Ahuja
              Nov 20 at 18:26
















            SUSER_NAME() won't return just the LogIn Name, try SELECT SUSER_NAME(4), it returns the login identification name of the user.
            – Sami
            Nov 20 at 18:25




            SUSER_NAME() won't return just the LogIn Name, try SELECT SUSER_NAME(4), it returns the login identification name of the user.
            – Sami
            Nov 20 at 18:25












            I edited that now.
            – Himanshu Ahuja
            Nov 20 at 18:26




            I edited that now.
            – Himanshu Ahuja
            Nov 20 at 18:26


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53398942%2fsuser-name-and-current-user%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            TypeError: fit_transform() missing 1 required positional argument: 'X'