In addition to updating the existing wording, I figured it would be nice to link to the page showing how to string multiple conditions together, just like in the When referencing the Unicode character data types nchar, nvarchar, and ntext, ‘expression’ should be prefixed with the capital letter ‘N’. A Stored Procedure is being used since we will execute it several times. Check Conversions AS SET NOCOUNT ON; SELECT -- "Uni" == Unicode [Latin1_8bit] AS [Latin1], [Hebrew_8bit] AS [Hebrew], [Korean_8bit] AS [Korean], N'█' AS [█], -- visual group separator ( Full Block U 2588 ) IIF([Latin1_8bit] = '₂', 'Match', '') AS [Latin1], IIF([Latin1_Unicode] = '₂', 'Match', '') AS [Latin1_Uni], IIF([Hebrew_8bit] = '₂', 'Match', '') AS [Hebrew], IIF([Hebrew_Unicode] = '₂', 'Match', '') AS [Hebrew_Uni], IIF([Korean_8bit] = '₂', 'Match', '') AS [Korean], IIF([Korean_Unicode] = '₂', 'Match', '') AS [Korean_Uni] FROM dbo. Which Collation Is It; prefixed with a capital-“N” only matches a regular number “2”.If ‘N’ is not specified, SQL Server converts the string to the code page that corresponds to the default collation of the database or column. Which Collation Is It; GO Now that we see what the “Subscript 2” character can be translated into, we should add those two character to our sample data. The documentation said that it would be converted to “the Code Page specified by the Database or column”, but here it is only using the Code Page specified by the Database’s Collation (i.e.Any characters not found in this code page are lost. This is to check if “Subscript 2” matches either “2” or “? Code Page 1252 which is what the Latin1_General Collations use). Well, in order to find out if it is one or the other or both or even neither, we will consult the primary authority on this topic: SQL Server. Which Collation Is It ( [Latin1_8bit] VARCHAR(10) COLLATE Latin1_General_100_BIN2, [Latin1_Unicode] NVARCHAR(10) COLLATE Latin1_General_100_BIN2, [Hebrew_8bit] VARCHAR(10) COLLATE Hebrew_100_BIN2, [Hebrew_Unicode] NVARCHAR(10) COLLATE Hebrew_100_BIN2, [Korean_8bit] VARCHAR(10) COLLATE Korean_100_BIN2, [Korean_Unicode] NVARCHAR(10) COLLATE Korean_100_BIN2 ); ) because it behaves differently in each of the three Collations that we are testing with.
However, most of them are really designed for reading and writing tabular data and aren’t always trouble-free when used with large strings or relatively unstructured data.The datatype and value of any literal / constant, whether string or numeric, is determined during parsing.Hence, characters are translated (using the Collation of the Database) USE [master]; ALTER DATABASE [Which Collation] COLLATE Hebrew_100_BIN2; USE [Which Collation]; SELECT [name], [collation_name] FROM sys.columns WHERE [object_id] = OBJECT_ID(N'dbo. Which Collation Is It; the following is returned: This time, it is only the “? This is due to the Hebrew Collations using Code Page 1255 which does not contain “Subscript 2”, and does not have a “Best Fit” mapping for it either.You’ll need to enable OLE Automation on your test server in order to follow along.I have often pined for a simple function that will read information a line at a time, and to present to me a ‘fake table’ where each line of text is a row, with a primary key based on the line number.