Write differences between varchar and nvarcharWould using varchar(5000) be bad compared to...

The plural of 'stomach"

The baby cries all morning

Is there a good way to store credentials outside of a password manager?

Opposite of a diet

Curses work by shouting - How to avoid collateral damage?

How do I keep an essay about "feeling flat" from feeling flat?

Is there any easy technique written in Bhagavad GITA to control lust?

Teaching indefinite integrals that require special-casing

Is it correct to write "is not focus on"?

Short story about space worker geeks who zone out by 'listening' to radiation from stars

Is this Spell Mimic feat balanced?

is this a spam?

Is there an Impartial Brexit Deal comparison site?

Lay out the Carpet

Do I need a multiple entry visa for a trip UK -> Sweden -> UK?

How could Frankenstein get the parts for his _second_ creature?

At which point does a character regain all their Hit Dice?

There is only s̶i̶x̶t̶y one place he can be

Should my PhD thesis be submitted under my legal name?

Time travel short story where a man arrives in the late 19th century in a time machine and then sends the machine back into the past

Where in the Bible does the greeting ("Dominus Vobiscum") used at Mass come from?

What would be the benefits of having both a state and local currencies?

Student evaluations of teaching assistants

Are there any comparative studies done between Ashtavakra Gita and Buddhim?



Write differences between varchar and nvarchar


Would using varchar(5000) be bad compared to varchar(255)?Performance of SQL Server indexingSMO v11 (SQL Server 2012) not scripting key definitions, indexes, and constraintsDifferences Between Two Different Create Index CommandsWhat is the difference between these two index declarations and do I need both?SQL Server 2012 Page Compression - Determine compression ratio?NVARCHAR column as PRIMARY KEY or as UNIQUE columnExecute stored procedure remotely using linked serverTool for converting all VARCHAR to NVARCHAR in one or few stepsDetect if any values in NVARCHAR columns are actually unicodeWhich option is better to search in two tables in varchar columns?













49















Currently in our SQL Server 2012 database, we're using varchar, and we'd like to change that nvarchar. I've generated a script to do that.



My question is are there any differences in how SQL Server writes to varchar columns vs. nvarchar columns? We have a number of backend procedures that I'm concerned about.



Edit:

Not sure if this helps, but the columns don't have indexes, f/k, or constraints on them.










share|improve this question

























  • Also see dba.stackexchange.com/questions/162113/…

    – Aaron Bertrand
    Jan 25 at 18:54


















49















Currently in our SQL Server 2012 database, we're using varchar, and we'd like to change that nvarchar. I've generated a script to do that.



My question is are there any differences in how SQL Server writes to varchar columns vs. nvarchar columns? We have a number of backend procedures that I'm concerned about.



Edit:

Not sure if this helps, but the columns don't have indexes, f/k, or constraints on them.










share|improve this question

























  • Also see dba.stackexchange.com/questions/162113/…

    – Aaron Bertrand
    Jan 25 at 18:54
















49












49








49


14






Currently in our SQL Server 2012 database, we're using varchar, and we'd like to change that nvarchar. I've generated a script to do that.



My question is are there any differences in how SQL Server writes to varchar columns vs. nvarchar columns? We have a number of backend procedures that I'm concerned about.



Edit:

Not sure if this helps, but the columns don't have indexes, f/k, or constraints on them.










share|improve this question
















Currently in our SQL Server 2012 database, we're using varchar, and we'd like to change that nvarchar. I've generated a script to do that.



My question is are there any differences in how SQL Server writes to varchar columns vs. nvarchar columns? We have a number of backend procedures that I'm concerned about.



Edit:

Not sure if this helps, but the columns don't have indexes, f/k, or constraints on them.







sql-server varchar






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 6 '13 at 20:11









marc_s

7,12053849




7,12053849










asked Mar 6 '13 at 15:38









Chris LChris L

4331410




4331410













  • Also see dba.stackexchange.com/questions/162113/…

    – Aaron Bertrand
    Jan 25 at 18:54





















  • Also see dba.stackexchange.com/questions/162113/…

    – Aaron Bertrand
    Jan 25 at 18:54



















Also see dba.stackexchange.com/questions/162113/…

– Aaron Bertrand
Jan 25 at 18:54







Also see dba.stackexchange.com/questions/162113/…

– Aaron Bertrand
Jan 25 at 18:54












5 Answers
5






active

oldest

votes


















38














You need to be sure that you prefix Unicode string literals with an N prefix. For example these will work differently if the underlying data type is NVARCHAR:



CREATE TABLE dbo.t(c NVARCHAR(32));

INSERT dbo.t(c) SELECT 'រៀន';
INSERT dbo.t(c) SELECT 'នរៀ';
INSERT dbo.t(c) SELECT N'រៀន';

SELECT c FROM dbo.t;

SELECT c FROM dbo.t WHERE c = 'រៀន';
SELECT c FROM dbo.t WHERE c = N'រៀន';


Results:



c
----
??? -- not stored correctly
??? -- not stored correctly
រៀន -- stored correctly!

c
----
???
??? -- probably not expected, however all Unicode characters have been changed to ?

c
----
រៀន


For those on mobile devices or decrepit browsers that show box characters instead of actual Unicode characters, this is what it looks like:



enter image description here






share|improve this answer

































    29














    The biggest concern is that nvarchar uses 2 bytes per character, whereas varchar uses 1. Thus, nvarchar(4000) uses the same amount of storage space as varchar(8000)*.



    In addition to all of your character data needing twice as much storage space, this also means:




    • You may have to use shorter nvarchar columns to keep rows within the 8060 byte row limit/8000 byte character column limit.

    • If you're using nvarchar(max) columns, they will be pushed off-row sooner than varchar(max) would.

    • You may have to use shorter nvarchar columns to stay within the 900-byte index key limit (I don't know why you would want to use such a large index key, but you never know).


    Besides that, working with nvarchar isn't much different, assuming your client software is built to handle Unicode. SQL Server will transparently upconvert a varchar to nvarchar, so you don't strictly need the N prefix for string literals unless you're using 2-byte (i.e. Unicode) characters in the literal. Be aware that casting nvarchar to varbinary yields different results than doing the same with varchar. The important point is that you won't have to immediately change every varchar literal to an nvarchar literal to keep the application working, which helps ease the process.



    * If you use data compression (the lightweight row compression is enough, Enterprise Edition required before SQL Server 2016 SP1) you will usually find nchar and nvarchar take no more space than char and varchar, due to Unicode compression (using the SCSU algorithm).






    share|improve this answer

































      12














      Think the following are major differences:




      1. Nvarchar stores UNICODE data. If you have requirements to store UNICODE or multilingual
        data, nvarchar is the choice. Varchar stores ASCII data and should be your data type of choice for normal use.

      2. Regarding memory usage, nvarchar uses 2 bytes per character, whereas varchar uses 1.

      3. JOIN-ing a VARCHAR to NVARCHAR has a considerable performance hit.

      4. Might need an N prefix when inserts data: INSERT dbo.t(c) SELECT N'ʤ ʥ ʦ ʧ ʨ';

      5. Some experts recommends nvarchar always because: since all modern operating systems and development platforms use Unicode internally, using nvarchar rather than varchar, will avoid encoding conversions every time you read from or write to the database






      share|improve this answer

































        0














        nvarchar was required for RDP Merge Replication from a Mobile DB to SQL Server 2005. Also LTrim(), RTrim() & Trim() were used a lot bc nvarchar didn't automatically trim() off spaces from data entry, whereas Varchar did.



        I am not aware if that has changed in recent years or not, but nvarchar is now the standard used for .NET Simple Membership Website logins on VS Pro 2017 used in the generated database.





        share








        New contributor




        Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.




























          -3














          If you use NVarchar over Varchar and you have no requirement to support MULTI-LINQUAL, you increase storage for DB, Backups (local and offsite). Modern Databases should support both and any Conversion hits should be considered in the design.






          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "182"
            };
            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: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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%2fdba.stackexchange.com%2fquestions%2f36081%2fwrite-differences-between-varchar-and-nvarchar%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            5 Answers
            5






            active

            oldest

            votes








            5 Answers
            5






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            38














            You need to be sure that you prefix Unicode string literals with an N prefix. For example these will work differently if the underlying data type is NVARCHAR:



            CREATE TABLE dbo.t(c NVARCHAR(32));

            INSERT dbo.t(c) SELECT 'រៀន';
            INSERT dbo.t(c) SELECT 'នរៀ';
            INSERT dbo.t(c) SELECT N'រៀន';

            SELECT c FROM dbo.t;

            SELECT c FROM dbo.t WHERE c = 'រៀន';
            SELECT c FROM dbo.t WHERE c = N'រៀន';


            Results:



            c
            ----
            ??? -- not stored correctly
            ??? -- not stored correctly
            រៀន -- stored correctly!

            c
            ----
            ???
            ??? -- probably not expected, however all Unicode characters have been changed to ?

            c
            ----
            រៀន


            For those on mobile devices or decrepit browsers that show box characters instead of actual Unicode characters, this is what it looks like:



            enter image description here






            share|improve this answer






























              38














              You need to be sure that you prefix Unicode string literals with an N prefix. For example these will work differently if the underlying data type is NVARCHAR:



              CREATE TABLE dbo.t(c NVARCHAR(32));

              INSERT dbo.t(c) SELECT 'រៀន';
              INSERT dbo.t(c) SELECT 'នរៀ';
              INSERT dbo.t(c) SELECT N'រៀន';

              SELECT c FROM dbo.t;

              SELECT c FROM dbo.t WHERE c = 'រៀន';
              SELECT c FROM dbo.t WHERE c = N'រៀន';


              Results:



              c
              ----
              ??? -- not stored correctly
              ??? -- not stored correctly
              រៀន -- stored correctly!

              c
              ----
              ???
              ??? -- probably not expected, however all Unicode characters have been changed to ?

              c
              ----
              រៀន


              For those on mobile devices or decrepit browsers that show box characters instead of actual Unicode characters, this is what it looks like:



              enter image description here






              share|improve this answer




























                38












                38








                38







                You need to be sure that you prefix Unicode string literals with an N prefix. For example these will work differently if the underlying data type is NVARCHAR:



                CREATE TABLE dbo.t(c NVARCHAR(32));

                INSERT dbo.t(c) SELECT 'រៀន';
                INSERT dbo.t(c) SELECT 'នរៀ';
                INSERT dbo.t(c) SELECT N'រៀន';

                SELECT c FROM dbo.t;

                SELECT c FROM dbo.t WHERE c = 'រៀន';
                SELECT c FROM dbo.t WHERE c = N'រៀន';


                Results:



                c
                ----
                ??? -- not stored correctly
                ??? -- not stored correctly
                រៀន -- stored correctly!

                c
                ----
                ???
                ??? -- probably not expected, however all Unicode characters have been changed to ?

                c
                ----
                រៀន


                For those on mobile devices or decrepit browsers that show box characters instead of actual Unicode characters, this is what it looks like:



                enter image description here






                share|improve this answer















                You need to be sure that you prefix Unicode string literals with an N prefix. For example these will work differently if the underlying data type is NVARCHAR:



                CREATE TABLE dbo.t(c NVARCHAR(32));

                INSERT dbo.t(c) SELECT 'រៀន';
                INSERT dbo.t(c) SELECT 'នរៀ';
                INSERT dbo.t(c) SELECT N'រៀន';

                SELECT c FROM dbo.t;

                SELECT c FROM dbo.t WHERE c = 'រៀន';
                SELECT c FROM dbo.t WHERE c = N'រៀន';


                Results:



                c
                ----
                ??? -- not stored correctly
                ??? -- not stored correctly
                រៀន -- stored correctly!

                c
                ----
                ???
                ??? -- probably not expected, however all Unicode characters have been changed to ?

                c
                ----
                រៀន


                For those on mobile devices or decrepit browsers that show box characters instead of actual Unicode characters, this is what it looks like:



                enter image description here







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Mar 11 '13 at 21:19

























                answered Mar 6 '13 at 17:12









                Aaron BertrandAaron Bertrand

                153k18297492




                153k18297492

























                    29














                    The biggest concern is that nvarchar uses 2 bytes per character, whereas varchar uses 1. Thus, nvarchar(4000) uses the same amount of storage space as varchar(8000)*.



                    In addition to all of your character data needing twice as much storage space, this also means:




                    • You may have to use shorter nvarchar columns to keep rows within the 8060 byte row limit/8000 byte character column limit.

                    • If you're using nvarchar(max) columns, they will be pushed off-row sooner than varchar(max) would.

                    • You may have to use shorter nvarchar columns to stay within the 900-byte index key limit (I don't know why you would want to use such a large index key, but you never know).


                    Besides that, working with nvarchar isn't much different, assuming your client software is built to handle Unicode. SQL Server will transparently upconvert a varchar to nvarchar, so you don't strictly need the N prefix for string literals unless you're using 2-byte (i.e. Unicode) characters in the literal. Be aware that casting nvarchar to varbinary yields different results than doing the same with varchar. The important point is that you won't have to immediately change every varchar literal to an nvarchar literal to keep the application working, which helps ease the process.



                    * If you use data compression (the lightweight row compression is enough, Enterprise Edition required before SQL Server 2016 SP1) you will usually find nchar and nvarchar take no more space than char and varchar, due to Unicode compression (using the SCSU algorithm).






                    share|improve this answer






























                      29














                      The biggest concern is that nvarchar uses 2 bytes per character, whereas varchar uses 1. Thus, nvarchar(4000) uses the same amount of storage space as varchar(8000)*.



                      In addition to all of your character data needing twice as much storage space, this also means:




                      • You may have to use shorter nvarchar columns to keep rows within the 8060 byte row limit/8000 byte character column limit.

                      • If you're using nvarchar(max) columns, they will be pushed off-row sooner than varchar(max) would.

                      • You may have to use shorter nvarchar columns to stay within the 900-byte index key limit (I don't know why you would want to use such a large index key, but you never know).


                      Besides that, working with nvarchar isn't much different, assuming your client software is built to handle Unicode. SQL Server will transparently upconvert a varchar to nvarchar, so you don't strictly need the N prefix for string literals unless you're using 2-byte (i.e. Unicode) characters in the literal. Be aware that casting nvarchar to varbinary yields different results than doing the same with varchar. The important point is that you won't have to immediately change every varchar literal to an nvarchar literal to keep the application working, which helps ease the process.



                      * If you use data compression (the lightweight row compression is enough, Enterprise Edition required before SQL Server 2016 SP1) you will usually find nchar and nvarchar take no more space than char and varchar, due to Unicode compression (using the SCSU algorithm).






                      share|improve this answer




























                        29












                        29








                        29







                        The biggest concern is that nvarchar uses 2 bytes per character, whereas varchar uses 1. Thus, nvarchar(4000) uses the same amount of storage space as varchar(8000)*.



                        In addition to all of your character data needing twice as much storage space, this also means:




                        • You may have to use shorter nvarchar columns to keep rows within the 8060 byte row limit/8000 byte character column limit.

                        • If you're using nvarchar(max) columns, they will be pushed off-row sooner than varchar(max) would.

                        • You may have to use shorter nvarchar columns to stay within the 900-byte index key limit (I don't know why you would want to use such a large index key, but you never know).


                        Besides that, working with nvarchar isn't much different, assuming your client software is built to handle Unicode. SQL Server will transparently upconvert a varchar to nvarchar, so you don't strictly need the N prefix for string literals unless you're using 2-byte (i.e. Unicode) characters in the literal. Be aware that casting nvarchar to varbinary yields different results than doing the same with varchar. The important point is that you won't have to immediately change every varchar literal to an nvarchar literal to keep the application working, which helps ease the process.



                        * If you use data compression (the lightweight row compression is enough, Enterprise Edition required before SQL Server 2016 SP1) you will usually find nchar and nvarchar take no more space than char and varchar, due to Unicode compression (using the SCSU algorithm).






                        share|improve this answer















                        The biggest concern is that nvarchar uses 2 bytes per character, whereas varchar uses 1. Thus, nvarchar(4000) uses the same amount of storage space as varchar(8000)*.



                        In addition to all of your character data needing twice as much storage space, this also means:




                        • You may have to use shorter nvarchar columns to keep rows within the 8060 byte row limit/8000 byte character column limit.

                        • If you're using nvarchar(max) columns, they will be pushed off-row sooner than varchar(max) would.

                        • You may have to use shorter nvarchar columns to stay within the 900-byte index key limit (I don't know why you would want to use such a large index key, but you never know).


                        Besides that, working with nvarchar isn't much different, assuming your client software is built to handle Unicode. SQL Server will transparently upconvert a varchar to nvarchar, so you don't strictly need the N prefix for string literals unless you're using 2-byte (i.e. Unicode) characters in the literal. Be aware that casting nvarchar to varbinary yields different results than doing the same with varchar. The important point is that you won't have to immediately change every varchar literal to an nvarchar literal to keep the application working, which helps ease the process.



                        * If you use data compression (the lightweight row compression is enough, Enterprise Edition required before SQL Server 2016 SP1) you will usually find nchar and nvarchar take no more space than char and varchar, due to Unicode compression (using the SCSU algorithm).







                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Jan 25 at 18:22









                        Aaron Bertrand

                        153k18297492




                        153k18297492










                        answered Mar 6 '13 at 21:38









                        db2db2

                        8,18012448




                        8,18012448























                            12














                            Think the following are major differences:




                            1. Nvarchar stores UNICODE data. If you have requirements to store UNICODE or multilingual
                              data, nvarchar is the choice. Varchar stores ASCII data and should be your data type of choice for normal use.

                            2. Regarding memory usage, nvarchar uses 2 bytes per character, whereas varchar uses 1.

                            3. JOIN-ing a VARCHAR to NVARCHAR has a considerable performance hit.

                            4. Might need an N prefix when inserts data: INSERT dbo.t(c) SELECT N'ʤ ʥ ʦ ʧ ʨ';

                            5. Some experts recommends nvarchar always because: since all modern operating systems and development platforms use Unicode internally, using nvarchar rather than varchar, will avoid encoding conversions every time you read from or write to the database






                            share|improve this answer






























                              12














                              Think the following are major differences:




                              1. Nvarchar stores UNICODE data. If you have requirements to store UNICODE or multilingual
                                data, nvarchar is the choice. Varchar stores ASCII data and should be your data type of choice for normal use.

                              2. Regarding memory usage, nvarchar uses 2 bytes per character, whereas varchar uses 1.

                              3. JOIN-ing a VARCHAR to NVARCHAR has a considerable performance hit.

                              4. Might need an N prefix when inserts data: INSERT dbo.t(c) SELECT N'ʤ ʥ ʦ ʧ ʨ';

                              5. Some experts recommends nvarchar always because: since all modern operating systems and development platforms use Unicode internally, using nvarchar rather than varchar, will avoid encoding conversions every time you read from or write to the database






                              share|improve this answer




























                                12












                                12








                                12







                                Think the following are major differences:




                                1. Nvarchar stores UNICODE data. If you have requirements to store UNICODE or multilingual
                                  data, nvarchar is the choice. Varchar stores ASCII data and should be your data type of choice for normal use.

                                2. Regarding memory usage, nvarchar uses 2 bytes per character, whereas varchar uses 1.

                                3. JOIN-ing a VARCHAR to NVARCHAR has a considerable performance hit.

                                4. Might need an N prefix when inserts data: INSERT dbo.t(c) SELECT N'ʤ ʥ ʦ ʧ ʨ';

                                5. Some experts recommends nvarchar always because: since all modern operating systems and development platforms use Unicode internally, using nvarchar rather than varchar, will avoid encoding conversions every time you read from or write to the database






                                share|improve this answer















                                Think the following are major differences:




                                1. Nvarchar stores UNICODE data. If you have requirements to store UNICODE or multilingual
                                  data, nvarchar is the choice. Varchar stores ASCII data and should be your data type of choice for normal use.

                                2. Regarding memory usage, nvarchar uses 2 bytes per character, whereas varchar uses 1.

                                3. JOIN-ing a VARCHAR to NVARCHAR has a considerable performance hit.

                                4. Might need an N prefix when inserts data: INSERT dbo.t(c) SELECT N'ʤ ʥ ʦ ʧ ʨ';

                                5. Some experts recommends nvarchar always because: since all modern operating systems and development platforms use Unicode internally, using nvarchar rather than varchar, will avoid encoding conversions every time you read from or write to the database







                                share|improve this answer














                                share|improve this answer



                                share|improve this answer








                                edited Jan 8 '15 at 3:11

























                                answered Jan 8 '15 at 2:30









                                rchackorchacko

                                22126




                                22126























                                    0














                                    nvarchar was required for RDP Merge Replication from a Mobile DB to SQL Server 2005. Also LTrim(), RTrim() & Trim() were used a lot bc nvarchar didn't automatically trim() off spaces from data entry, whereas Varchar did.



                                    I am not aware if that has changed in recent years or not, but nvarchar is now the standard used for .NET Simple Membership Website logins on VS Pro 2017 used in the generated database.





                                    share








                                    New contributor




                                    Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                    Check out our Code of Conduct.

























                                      0














                                      nvarchar was required for RDP Merge Replication from a Mobile DB to SQL Server 2005. Also LTrim(), RTrim() & Trim() were used a lot bc nvarchar didn't automatically trim() off spaces from data entry, whereas Varchar did.



                                      I am not aware if that has changed in recent years or not, but nvarchar is now the standard used for .NET Simple Membership Website logins on VS Pro 2017 used in the generated database.





                                      share








                                      New contributor




                                      Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                      Check out our Code of Conduct.























                                        0












                                        0








                                        0







                                        nvarchar was required for RDP Merge Replication from a Mobile DB to SQL Server 2005. Also LTrim(), RTrim() & Trim() were used a lot bc nvarchar didn't automatically trim() off spaces from data entry, whereas Varchar did.



                                        I am not aware if that has changed in recent years or not, but nvarchar is now the standard used for .NET Simple Membership Website logins on VS Pro 2017 used in the generated database.





                                        share








                                        New contributor




                                        Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                        Check out our Code of Conduct.










                                        nvarchar was required for RDP Merge Replication from a Mobile DB to SQL Server 2005. Also LTrim(), RTrim() & Trim() were used a lot bc nvarchar didn't automatically trim() off spaces from data entry, whereas Varchar did.



                                        I am not aware if that has changed in recent years or not, but nvarchar is now the standard used for .NET Simple Membership Website logins on VS Pro 2017 used in the generated database.






                                        share








                                        New contributor




                                        Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                        Check out our Code of Conduct.








                                        share


                                        share






                                        New contributor




                                        Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                        Check out our Code of Conduct.









                                        answered 9 mins ago









                                        Joseph PoirierJoseph Poirier

                                        11




                                        11




                                        New contributor




                                        Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                        Check out our Code of Conduct.





                                        New contributor





                                        Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                        Check out our Code of Conduct.






                                        Joseph Poirier is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                        Check out our Code of Conduct.























                                            -3














                                            If you use NVarchar over Varchar and you have no requirement to support MULTI-LINQUAL, you increase storage for DB, Backups (local and offsite). Modern Databases should support both and any Conversion hits should be considered in the design.






                                            share|improve this answer




























                                              -3














                                              If you use NVarchar over Varchar and you have no requirement to support MULTI-LINQUAL, you increase storage for DB, Backups (local and offsite). Modern Databases should support both and any Conversion hits should be considered in the design.






                                              share|improve this answer


























                                                -3












                                                -3








                                                -3







                                                If you use NVarchar over Varchar and you have no requirement to support MULTI-LINQUAL, you increase storage for DB, Backups (local and offsite). Modern Databases should support both and any Conversion hits should be considered in the design.






                                                share|improve this answer













                                                If you use NVarchar over Varchar and you have no requirement to support MULTI-LINQUAL, you increase storage for DB, Backups (local and offsite). Modern Databases should support both and any Conversion hits should be considered in the design.







                                                share|improve this answer












                                                share|improve this answer



                                                share|improve this answer










                                                answered Jul 15 '16 at 12:42









                                                Bill LindsayBill Lindsay

                                                1




                                                1






























                                                    draft saved

                                                    draft discarded




















































                                                    Thanks for contributing an answer to Database Administrators Stack Exchange!


                                                    • 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%2fdba.stackexchange.com%2fquestions%2f36081%2fwrite-differences-between-varchar-and-nvarchar%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

                                                    ORA-01691 (unable to extend lob segment) even though my tablespace has AUTOEXTEND onORA-01692: unable to...

                                                    Always On Availability groups resolving state after failover - Remote harden of transaction...

                                                    Circunscripción electoral de Guipúzcoa Referencias Menú de navegaciónLas claves del sistema electoral en...