SQL 2014_Intercalacion

Embed Size (px)

Citation preview

  • 7/23/2019 SQL 2014_Intercalacion

    1/18

    Mi coleccin

    Este documento se proporciona "tal cual". La informacin y los puntos de vista expresados en este documento, incluyendo las referencias a sitios web de

    Internet y direcciones URL, est sujeta a cambios sin aviso. Este documento no implica ningn derecho legal respecto a ninguna propiedad intelectual de ningn

    nombre de producto o producto de Microsoft. Puede copiar y utilizar este documento con fines internos y de referencia. Se permite que modifique este

    documento para sus fines internos y de referencia. 2013 Microsoft. Reservados todos los derechos. Trminos de uso

    (http://msdn.microsoft.com/cc300389.aspx) | Marcas comerciales (http://www.microsoft.com/library/toolbar/3.0/trademarks/en-us.mspx)

    http://msdn.microsoft.com/
  • 7/23/2019 SQL 2014_Intercalacion

    2/18

    Table Of ContentsCaptulo 1

    Compatibilidad con la intercalacin y Unicode

    http://msdn.microsoft.com/es-es/library/ms143726.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    3/18

    Captulo 1

  • 7/23/2019 SQL 2014_Intercalacion

    4/18

    Compatibilidad con la intercalacin y Unicode

    Las intercalaciones de SQL Server proporcionan propiedades de distincin entre maysculas y minsculas, acentos y reglas de ordenacin para los datos. Las intercalaciones que se usan

    con tipos de datos de caracteres como chary varchardictan la pgina de cdigos y los caracteres correspondientes que se pueden representar para ese tipo de datos. Si va a instalar

    una instancia nueva de SQL Server, restaurar una copia de seguridad de la base de datos o conectar el servidor a las bases de datos cliente, es importante conocer los requisitos de

    configuracin regional, el criterio de ordenacin y la distincin entre maysculas y minsculas y acentos de los datos con los que se va a trabajar. Para enumerar las intercalaciones

    disponibles en la instancia de SQL Server, vea sys.fn_helpcollations (Transact-SQL).

    Al seleccionar una intercalacin para un servidor, base de datos, columna o expresin, se estn asignando ciertas caractersticas a los datos que afectarn a los resultados de muchas

    operaciones de la base de datos. Por ejemplo, cuando se crea una consulta con ORDER BY, el criterio de ordenacin del conjunto de resultados puede depender de la intercalacin que

    se aplica a la base de datos o que se dicta en una clusula COLLATE en el nivel de expresin de la consulta.

    Para hacer el mejor uso posible de la compatibilidad con la intercalacin en SQL Server, se deben conocer los trminos que se definen en este tema y cmo se relacionan con las

    caractersticas de los datos.

    En este tema

    Trminos de intercalacin

    Compatibilidad con Unicode

    Caracteres complementarios

    Compatibilidad con GB18030

    Compatibilidad con escritura compleja

    Tareas relacionadas

    Contenido relacionado

    Trminos de intercalacin

    Intercalacin

    Configuracin regional

    Pgina de cdigos

    Criterio de ordenacin

    IntercalacinUna intercalacin especifica los patrones de bits que representan a cada carcter de un conjunto de datos. Las intercalaciones tambin determinan las reglas que ordenan y comparan

    los datos. SQL Server permite almacenar los objetos que tienen intercalaciones diferentes en una sola base de datos. En las columnas que no sean Unicode, la configuracin de

    intercalacin especifica la pgina de cdigos de los datos y qu caracteres se pueden representar. Los datos que se mueven entre columnas que no sean Unicode se deben convertir

    de la pgina de cdigos de origen a la pgina de cdigos de destino.

    Los resultados de las instrucciones de TransactSQL pueden variar cuando se ejecutan en el contexto de bases de datos distintas que tengan una configuracin de intercalacin

    diferente. Si es posible, utilice una intercalacin normalizada para su organizacin.De esta manera no tiene que especificar explcitamente la intercalacin en cada carcter o expresin

    Unicode. Si debe trabajar con objetos que tienen configuraciones de intercalacin y de pgina de cdigos diferentes, conviene codificar las consultas para tener en cuenta las reglas de

    prioridad de intercalacin.Para obtener ms informacin, vea Prioridad de intercalacin TransactSQL.

    Las opciones asociadas con una intercalacin son la distincin de maysculas y minsculas, la distincin de acentos, la distincin de tipos de kana, la distincin de ancho. Estas opciones

    se especifican anexndolas al nombre de intercalacin.Por ejemplo, la intercalacin Japanese_Bushu_Kakusu_100_CS_AS_KS_WSes una intercalacin con distincin de maysculas y

    minsculas, distincin de acentos, distincin de tipos de kana y distincin de ancho. En la tabla siguiente se describe el comportamiento asociado a estas opciones.

    Opcin Descripcin

    Distinguirmaysculas

    de

    minsculas

    (_CS)

    Distingue entre letras maysculas y minsculas.Si se selecciona, las letras minsculas se ordenan por delante de sus versiones en maysculas. Si esta opcin no estseleccionada, la intercalacin no distinguir maysculas de minsculas. Es decir, que SQL Server considera las versiones mayscula y minscula de las letras como

    letras idnticas para fines de ordenacin. Puede seleccionar explcitamente no distinguir entre maysculas y minsculas especificando _CI.

    Distinguir

    acentos

    (_AS)

    Distingue entre caracteres acentuados y no acentuados. Por ejemplo, 'a' no es igual a ''.Si esta opcin no est seleccionada, la intercalacin no distinguir los

    acentos. Es decir, que SQL Server considera las versiones acentuadas y no acentuadas de las letras como letras idnticas para fines de ordenacin. Puede seleccionar

    explcitamente no distinguir acentos especificando _AI.

    Distinguir

    kana (_KS)

    Distingue entre los dos tipos de caracteres kana japoneses: Hiragana y de Katakana. Si la opcin no est seleccionada, la intercalacin no distingue los tipos de kana.

    Es decir, que SQL Server considera los caracteres Hiragana y Katakana como caracteres iguales para la ordenacin.La omisin de esta opcin es el nico mtodo

    para especificar Kana-insensibilidad.

    Distinguir

    ancho (_WS)

    Distingue entre un carcter de un solo byte y el mismo carcter representado como un carcter de doble byte. Si esta opcin no se activa, SQL Server considera que

    la representacin de un solo byte y de doble byte del mismo carcter son idnticas para la ordenacin. La omisin de esta opcin es el nico mtodo para

    especificar no distincin de ancho.

    SQL Server admite los siguientes conjuntos de intercalacin:

    intercalaciones de Windows

    Las intercalaciones de Windows definen reglas para almacenar los datos de caracteres que se basan en una configuracin regional del sistema Windows asociada. En una

    intercalacin de Windows, la comparacin de datos no Unicode se implementa con el mismo algoritmo que la de los datos Unicode. Las reglas de intercalacin bsicas de

    Windows especifican qu alfabeto o idioma se utilizan cuando se aplica un orden de diccionario, y la pgina de cdigos que se usa para almacenar los datos de caracteres que

    no son Unicode. Tanto la ordenacin Unicode y como la ordenacin no Unicode son compatibles con comparaciones de cadenas de una determinada versin de Windows. De

    SQL Server 2014

    http://msdn.microsoft.com/es-es/library/ms179886.aspxhttp://msdn.microsoft.com/es-es/library/ms187963.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    5/18

    este modo se proporciona coherencia entre los tipos de datos de SQL Server y tambin se ofrece a los programadores la posibilidad de ordenar las cadenas de sus

    aplicaciones usando las mismas reglas que usa SQL Server. Para obtener ms informacin, vea Nombre de intercalacin de Windows TransactSQL.

    Intercalaciones binarias

    Las intercalaciones binarias ordenan los datos segn la secuencia de valores codificados definidos por la configuracin regional y el tipo de datos. Distinguen entre maysculas y

    minsculas.Una intercalacin binaria de SQL Server define la configuracin regional y la pgina de cdigos ANSI que se van a usar. Esto exige un criterio de ordenacin binario.

    Dado que son relativamente simples, las intercalaciones binarias ayudan a mejorar el rendimiento de la aplicacin. En los tipos de datos no Unicode, las comparaciones de datos

    se basan en los puntos de cdigo que se definen en la pgina de cdigos ANSI. En tipos de datos Unicode, las comparaciones de datos dependen de los puntos de cdigo

    Unicode. En intercalaciones binarias de tipos de datos Unicode, la configuracin regional no se tiene en cuenta a la hora de ordenar los datos.Por ejemplo, Latin_1_General_BIN

    y Japanese_BIN producen resultados de orden idnticos cuando se usan en datos Unicode.

    Las intercalaciones binarias de las versiones anteriores de SQL Server comparaban el primer carcter como WCHAR, seguido de una comparacin byte a byte. Por razones de

    compatibilidad con versiones anteriores, la semntica de intercalacin binaria no se cambiar.

    Las intercalaciones binarias de esta versin de SQL Server incluyen un conjunto de intercalaciones de comparacin de puntos de cdigo puras. Puede migrar a las intercalaciones

    binarias para aprovecharse de las verdaderas comparaciones de puntos de cdigo.Debe utilizar las intercalaciones binarias para desarrollar aplicaciones nuevas. El sufijo BIN2

    identifica los nombres de intercalacin que implementan la nueva semntica de intercalacin de punto de cdigo. Tambin hay una marca de comparacin que corresponde a

    BIN2 para el orden binario. Sus ventajas son un desarrollo de aplicaciones ms simple y una semntica ms clara.

    Intercalaciones SQL Server

    Las intercalaciones de SQL Server SQL_* son compatibles en cuanto al criterio de ordenacin con las versiones anteriores de SQL Server. Las reglas de ordenacin alfabtica de

    datos no Unicode son incompatibles con cualquier rutina de ordenacin suministrada por los sistemas operativos Windows. Sin embargo, la ordenacin de datos Unicode es

    compatible con una versin especial de las reglas de ordenacin de Windows.Como las intercalaciones de SQL Server utilizan reglas de comparacin diferentes para los datos

    Unicode y para los que no son Unicode, ver resultados diferentes en las comparaciones de los mismos datos, dependiendo del tipo de datos subyacente. Para obtener ms

    informacin, vea Nombre de intercalacin de SQL Server TransactSQL.

    Nota

    Al actualizar una instancia en idioma ingls de SQL Server, se puede especificar la compatibilidad de las intercalaciones de SQL Server SQL_* con las instancias existentes de

    SQL Server. Como la intercalacin predeterminada de una instancia de SQL Server se define durante la instalacin, asegrese de especificar con cuidado la configuracin de la

    intercalacin cuando se cumple lo siguiente:

    El cdigo de la aplicacin depende del comportamiento de las intercalaciones de SQL Server anteriores.

    Se deben almacenar datos de caracteres que reflejen varios idiomas.

    Se admite el establecimiento de intercalaciones en los siguientes niveles de una instancia de SQL Server:

    Intercalaciones de nivel de servidor

    La intercalacin predeterminada de servidor se establece durante la instalacin de SQL Server y tambin se convierte en la intercalacin predeterminada de las bases de datos

    del sistema y de todas las bases de datos del usuario. Observe que las intercalaciones exclusivas de Unicode no pueden seleccionarse durante la instalacin de SQL Server

    porque no se admiten como intercalaciones de nivel de servidor.

    Despus de que una intercalacin se haya asignado al servidor, no puede cambiar la intercalacin excepto exportando todos los objetos y datos de base de datos,

    recompilando la base de datos mastere importando todos los objetos y datos de base de datos. En lugar de cambiar la intercalacin predeterminada de una instancia de SQL

    Server, puede especificar la intercalacin deseada en el momento de crear una base de datos o una columna de base de datos.

    Intercalaciones de nivel de base de datos

    Cuando se crea una base de datos, se puede usar la clusula COLLATE de la instruccin CREATE DATABASE para especificar la intercalacin predeterminada de la base de datos.Si no se especifica ninguna intercalacin, se asigna a la base de datos la intercalacin de servidor.

    No puede cambiar la intercalacin de base de datos del sistema excepto cambiando la intercalacin del servidor.

    La intercalacin de base de datos se usa para todos los metadatos de la base de datos, y es la predeterminada para todas las columnas de cadena, los objetos temporales, los

    nombres de variable, y cualquier otra cadena usada en la base de datos. Al cambiar la intercalacin de una base de datos de usuario, tenga en cuenta que existe la posibilidad

    de conflictos de intercalacin cuando las consultas en la base de datos tienen acceso a las tablas temporales. Las tablas temporales se almacenan siempre en la base de datos

    del sistema de tempdb, que usar la intercalacin de la instancia.Las consultas que comparan datos de caracteres entre la base de datos de usuario y tempdbpueden generar

    un error si las intercalaciones producen un conflicto en la evaluacin de los datos de caracteres.Puede resolver esto especificando la clusula COLLATE en la consulta. Para

    obtener ms informacin, vea COLLATE (Transact-SQL).

    Intercalaciones de columna

    Cuando cree o altere una tabla, puede especificar intercalaciones para cada columna de cadena de caracteres mediante la clusula COLLATE. Si no se especifica una

    intercalacin, a la columna se le asigna la intercalacin predeterminada de la base de datos.

    Intercalaciones de nivel de expresin

    Las intercalaciones de nivel de expresin se establecen cuando se ejecuta una instruccin y afectan al modo en que se devuelve un conjunto de resultados. Esto permite que los

    resultados de la ordenacin ORDER BY sean especficos de la configuracin regional.Utilice una clusula COLLATE como la siguiente para implementar intercalaciones de nivel deexpresin:

    Volver al principio

    Configuracin regional

    Una configuracin regional es un conjunto de informacin que est asociado a una ubicacin o cultura.Puede incluir el nombre e identificador del idioma hablado, la escritura que se

    usa para escribir el idioma y las convenciones culturales. Las intercalaciones pueden estar asociadas a una o varias configuraciones regionales. Para obtener ms informacin, vea Id. de

    configuracin regional asignados por Microsoft.

    Volver al principio

    Pgina de cdigos

    Una pgina de cdigos es un juego ordenado de caracteres en un script determinado en el que un ndice numrico, o un valor de punto de cdigo, est asociado con cada carcter.

    Una pgina de cdigos de Windows se denomina normalmente juego de caractereso charset. Las pginas de cdigos se usan para ofrecer compatibilidad con los juegos de caracteres

    y las distribuciones de teclado que se usan en distintas configuraciones regionales del sistema Windows.

    Volver al principio

    Criterio de ordenacin

    SELECT name FROM customer ORDER BY name COLLATE Latin1_General_CS_AI;

    http://msdn.microsoft.com/es-es/goglobal/bb964664.aspxhttp://msdn.microsoft.com/es-es/library/ms184391.aspxhttp://msdn.microsoft.com/es-es/library/ms180175.aspxhttp://msdn.microsoft.com/es-es/library/ms188046.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    6/18

    El criterio de ordenacin especifica cmo se ordenan los valores de datos.Esto afecta a los resultados de la comparacin de los datos. Los datos se ordenan con las intercalaciones, y

    se pueden optimizar mediante los ndices.

    Volver al principio

    Compatibilidad con Unicode

    Unicode es un estndar que permite asignar puntos de cdigo con caracteres.Puesto que se ha diseado para cubrir todos los caracteres de todos los idiomas del mundo, no es

    preciso usar pginas de cdigos diferentes para controlar los distintos juegos de caracteres. Si almacena datos de caracteres que reflejan varios idiomas, use siempre tipos de datos

    Unicode (nchar, nvarchary ntext) en lugar de tipos de datos que no sean Unicode (char, varchary text).

    Hay limitaciones significativas asociadas a los tipos de datos no Unicode. Esto se debe a que un equipo no Unicode se limitar a utilizar una nica pgina de cdigos. Podraexperimentar una ganancia en el rendimiento mediante Unicode porque se requieren menos conversiones de pginas de cdigos. Las intercalaciones Unicode deben seleccionarse

    individualmente en el nivel de expresin, base de datos o columna porque no se admiten en el nivel de servidor.

    Las pginas de cdigos que un cliente usa se determinan en la configuracin del sistema operativo. Para establecer las pginas de cdigos del cliente en los sistemas operativos

    Windows, use Configuracin regionalen el Panel de control.

    Al mover los datos de un servidor a un cliente, los controladores de cliente anteriores podran no reconocer la intercalacin del servidor. Esto puede ocurrir al mover los datos de un

    servidor Unicode a un cliente no Unicode. La mejor opcin podra ser actualizar el sistema operativo cliente para que las intercalaciones del sistema subyacentes se actualicen.Si el

    cliente tiene instalado software cliente de base de datos, se puede considerar la posibilidad de aplicar a dicho software una actualizacin de servicio.

    Tambin puede intentar utilizar una intercalacin diferente para los datos del servidor. Elija una intercalacin que se asignar a una pgina de cdigos en el cliente.

    Para usar las intercalaciones UTF 16 disponibles en SQL Server 2014, puede seleccionar una de las intercalaciones de _SCde caracteres complementarios (solo las intercalaciones de

    Windows para mejorar la bsqueda y la ordenacin de algunos caracteres Unicode.

    Para evaluar completamente los problemas relacionados con el uso de tipos de datos Unicode y no Unicode, pruebe su escenario para cuantificar las diferencias de rendimiento en su

    entorno. Se recomienda normalizar la intercalacin que se usa en los sistemas de una organizacin e implementar servidores y clientes Unicode siempre que sea posible.

    En muchos casos, SQL Server interactuar con otros servidores y clientes, y la organizacin podra usar varios estndares de acceso a datos entre las aplicaciones y las instancias de

    servidor. Los clientes SQL Server son uno de los dos tipos principales:

    Clientes Unicodeque utilizan OLE DB y Conectividad abierta de bases de datos ODBC versin 3.7 o posteriores.

    Clientes no Unicodeque utilizan DBLibrary y ODBC versin 3.6 o anteriores.

    En la tabla siguiente se proporciona informacin acerca de cmo usar datos multilinges con varias combinaciones de servidores Unicode y no Unicode.

    Servidor Cliente Beneficios o limitaciones

    Unicode Unicode Dado que los datos Unicode se usarn en todo el sistema, este escenario proporciona el mximo rendimiento y proteccin frente a daos de los datos

    recuperados. Se trata de la situacin de Objetos de datos ActiveX ADO, OLE DB y ODBC versin 3.7 o posteriores.

    Unicode No

    Unicode

    En este escenario y especialmente con las conexiones entre un servidor que ejecuta un sistema operativo ms reciente y un cliente que ejecuta una versin

    anterior de SQL Server o un sistema operativo anterior, puede haber limitaciones o producirse errores al mover los datos a un equipo cliente. Los datos

    Unicode del servidor intentarn asignarse a una pgina de cdigos correspondiente en el cliente no Unicode para convertir los datos.

    No

    Unicode

    Unicode No es una configuracin ideal para utilizar datos multilinges.No puede escribir los datos Unicode en el servidor no Unicode. Es probable que se produzcan

    problemas si los datos se envan a servidores externos a la pgina de cdigos del servidor.

    No

    Unicode

    No

    Unicode

    Se trata de un escenario muy limitado para datos multilinges. Puede usar solo una nica pgina de cdigos.

    Volver al principio

    Caracteres complementarios

    SQL Server proporciona los tipos de datos nchary nvarcharpara almacenar los datos Unicode. Estos tipos de datos codifican el texto en un formato denominado UTF 16. Unicode

    Consortium asigna a cada carcter un punto de cdigo nico, que es un valor en el intervalo comprendido entre 0x0000 y 0x10FFFF.Los caracteres que se usan con ms frecuencia

    tienen valores de punto de cdigo que se ajustarn a una palabra de 16 bits en memoria y en disco, pero los caracteres con valores de punto de cdigo mayores que 0xFFFF requieren

    dos palabras de 16 bits consecutivas. Estos caracteres se denominan caracteres adicionalesy las dos palabras de 16 bits consecutivas,pares suplentes.

    Si utiliza caracteres adicionales:

    Los caracteres adicionales se pueden utilizar en las operaciones de ordenacin y comparacin en las versiones de intercalacin 90 o mayores.

    Todas las intercalaciones de nivel _100 admiten la ordenacin lingstica con caracteres adicionales.

    Los caracteres adicionales no son compatibles con metadatos, como nombres de objetos de base de datos.

    A partir de SQL Server 2012, se puede usar una nueva familia de intercalaciones de caracteres adicionales (SC) con los tipos de datos nchar, nvarchary sql_variant. Por ejemplo:

    Latin1_General_100_CI_AS_SCo Japanese_Bushu_Kakusu_100_CI_AS_SCsi usa una intercalacin japonesa.

    La marca SC se puede aplicar a:

    Intercalaciones de Windows de la versin 90

    Intercalaciones de Windows de la versin 100

    La marca SC no se puede aplicar a:

    Intercalaciones de Windows sin versin de la versin 80

    Intercalaciones binarias BIN o BIN2

    Intercalaciones SQL*

  • 7/23/2019 SQL 2014_Intercalacion

    7/18

    En la siguiente tabla se compara el comportamiento de algunas funciones de cadena y de algunos operadores de cadena cuando usan caracteres adicionales con intercalacin de SC y

    sin ella.

    Funcin u

    operador de

    cadena

    Con una intercalacin de SC Sin ninguna intercalacin de SC

    CHARINDEX

    LEN

    PATINDEX

    El par suplente de UTF16 se cuenta como un solo punto de cdigo. El par suplente de UTF-16 se cuenta como dos

    puntos de cdigo.

    LEFT

    REPLACE

    REVERSE

    RIGHT

    SUBSTRING

    STUFF

    Estas funciones tratan los pares suplentes como un solo punto de cdigo y funcionan de la forma esperada. Estas funciones pueden dividir cualquier par

    suplente y provocar resultados inesperados.

    NCHAR Devuelve el carcter correspondiente al valor del punto de cdigo Unicode especificado en el intervalo

    comprendido entre 0 y 0x10FFFF. Si el valor especificado est en el intervalo comprendido entre 0 y 0xFFFF,

    solo se devuelve un carcter.Con valores ms altos, se devuelve el suplente correspondiente.

    Un valor mayor que 0xFFFF devuelve NULL en vez

    del suplente correspondiente.

    UNICODE Devuelve un punto de cdigo UTF16 en el intervalo comprendido entre 0 y 0x10FFFF. Devue lve un punto de cdigo UCS2 en el

    intervalo comprendido entre 0 y 0xFFFF.

    Hacer coincidir

    un carcter

    comodn

    Carcter

    comodn

    caracteres no

    coincidentes

    Se admiten caracteres adicionales para todas las operaciones de caracteres comodn. No se admiten caracteres adicionales para estas

    operaciones de caracteres comodn.Se admiten

    otros operadores de caracteres comodn.

    Volver al principio

    Compatibilidad con GB18030

    GB18030 es un estndar independiente que se usa en la Repblica Popular China para codificar caracteres chinos. En GB18030, los caracteres pueden tener una longitud de 1, 2 o 4

    bytes. SQL Server admite caracteres de codificacin GB18030, reconocindolos en el momento de su entrada en un servidor procedentes de una aplicacin del lado cliente yconvirtindolos y almacenndolos de forma nativa como caracteres Unicode.Una vez almacenados en el servidor, se tratan como caracteres Unicode en las operaciones siguientes.

    Puede usar cualquier intercalacin china, preferentemente la ms reciente: la versin 100. Todas las intercalaciones de nivel _100 admiten la ordenacin lingstica con caracteres

    GB18030. Si los datos incluyen caracteres suplementarios pares suplentes, puede usar las intercalaciones SC disponibles en SQL Server 2014 para mejorar la bsqueda y la

    clasificacin.

    Volver al principio

    Compatibilidad con escritura compleja

    SQL Server puede admitir la entrada, el almacenamiento, el cambio, y la visualizacin de escrituras complejas. Ejemplos de escritura compleja son los siguientes:

    Escritura que incluye la combinacin de texto de derecha a izquierda y de izquierda a derecha, caso de una combinacin de textos en rabe e ingls.

    Escritua cuyos caracteres cambian de forma dependiendo de su posicin, o al combinarse con otros caracteres como, por ejemplo, los caracteres del rabe, el ndico y el

    tailands.

    Idiomas como el tailands que necesitan diccionarios internos para reconocer palabras porque no existen cortes entre ellas.

    Las aplicaciones de base de datos que interactan con SQL Server deben utilizar controles que sean compatibles con escritura compleja. Los controles de formato estndar de

    Windows creados en cdigo administrado estn habilitados para escritura compleja.

    Volver al principio

    Tareas relacionadas

    Tarea Tema

    Describe cmo establecer o cambiar la intercalacin de la instancia de SQL Server. Configurar o cambiar la intercalacin del

    servidor

    Describe cmo establecer o cambiar la intercalacin de una base de datos de usuario. Establecer o cambiar la intercalacin de

    base de datos

    Describe cmo establecer o cambiar la intercalacin de una columna de la base de datos. Establecer o cambiar la intercalacin de

    columnas

    http://msdn.microsoft.com/es-es/library/ms190920.aspxhttp://msdn.microsoft.com/es-es/library/ms175835.aspxhttp://msdn.microsoft.com/es-es/library/ms179254.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    8/18

    Describe cmo devolver informacin de intercalacin en el servidor, la base de datos, o el nivel de columna. Ver informacin de intercalacin

    Describe cmo escribir instrucciones TransactSQL que las hagan ms porttiles de un idioma a otro, o que admitan varios idiomas ms

    fcilmente.

    Escribir instrucciones Transact-SQL

    internacionales

    Describe cmo cambiar el idioma de la sesin permite cambiar el idioma de los mensajes de error y las preferencias acerca de cmo

    usar y mostrar los datos de fecha, hora y divisa.

    Establecer un idioma de la sesin

    Volver al principio

    Contenido relacionadoPrcticas recomendadas para cambiar las intercalaciones en SQL Server

    Migracin de las prcticas recomendadas de SQL Server a Unicode

    Sitio Web de Unicode Consortium

    Vea tambin

    Referenciasys.fn_helpcollations (Transact-SQL)

    ConceptosIntercalaciones de bases de datos independientes

    Elegir un idioma al crear un ndice de texto completo

    2014 Microsoft

    http://msdn.microsoft.com/es-es/library/ms142507.aspxhttp://msdn.microsoft.com/es-es/library/ff929080.aspxhttp://msdn.microsoft.com/es-es/library/ms187963.aspxhttp://go.microsoft.com/fwlink/?LinkId=48619http://go.microsoft.com/fwlink/?LinkId=113890http://go.microsoft.com/fwlink/?LinkId=113891http://msdn.microsoft.com/es-es/library/ms142797.aspxhttp://msdn.microsoft.com/es-es/library/ms191307.aspxhttp://msdn.microsoft.com/es-es/library/hh230914.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    9/18

    Configurar o cambiar la intercalacin del servidor

    La intercalacin de servidor acta como intercalacin predeterminada para todas las bases de datos del sistema que se han instalado con la instancia de SQL Server, as como las bases

    de datos de usuario recin creadas.La intercalacin de servidor se especifica durante la instalacin de SQL Server.Para obtener ms informacin, vea Compatibilidad con la intercalacin

    y Unicode.

    Cambiar la intercalacin de servidor

    El cambio de la intercalacin predeterminada para una instancia de SQL Server puede ser una operacin compleja que incluye los siguientes pasos:

    Asegurarse de que se dispone de toda la informacin o scripts necesarios para volver a crear las bases de datos de usuario y todos los objetos contenidos en ellas.

    Exportar todos los datos mediante una herramienta como bcp (utilidad). Para obtener ms informacin, vea Importar y exportar datos de forma masiva (SQL Server) .

    Quitar todas las bases de datos de usuario.

    Recompilar la base de datos master especificando la nueva intercalacin en la propiedad SQLCOLLATION del comando setup. Por ejemplo:

    Para obtener ms informacin, vea Volver a generar bases de datos del sistema.

    Crear todas las bases de datos y todos los objetos contenidos en ellas.

    Importar todos los datos.

    Nota

    En lugar de cambiar la intercalacin predeterminada de una instancia de SQL Server, puede especificar una intercalacin predeterminada para cada nueva base de datos que cree.

    Vea tambin

    Conceptos

    Compatibilidad con la intercalacin y Unicode

    Establecer o cambiar la intercalacin de base de datos

    Establecer o cambiar la intercalacin de columnas

    Volver a generar bases de datos del sistema

    2014 Microsoft

    SQL Server 2014

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName

    /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]

    /SQLCOLLATION=CollationName

    http://msdn.microsoft.com/es-es/library/dd207003.aspxhttp://msdn.microsoft.com/es-es/library/ms190920.aspxhttp://msdn.microsoft.com/es-es/library/ms175835.aspxhttp://msdn.microsoft.com/es-es/library/ms143726.aspxhttp://msdn.microsoft.com/es-es/library/dd207003.aspxhttp://msdn.microsoft.com/es-es/library/ms175937.aspxhttp://msdn.microsoft.com/es-es/library/ms162802.aspxhttp://msdn.microsoft.com/es-es/library/ms143726.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    10/18

    Establecer o cambiar la intercalacin de base de datos

    En este tema se describe cmo establecer y cambiar la intercalacin de base de datos en SQL Server 2014 mediante SQL Server Management Studio o TransactSQL. Si no se especifica

    ninguna intercalacin, se utiliza la del servidor.

    En este tema

    Antes de empezar:

    Limitaciones y restricciones

    Recomendaciones

    Seguridad

    Para establecer o cambiar la intercalacin de base de datos, utilizando:

    SQL Server Management Studio

    Transact-SQL

    Antes de empezar

    Limitaciones y restricciones

    Las intercalaciones exclusivas de Unicode de Windows se pueden utilizar nicamente con la clusula COLLATE para aplicar intercalaciones a los tipos de datos nchar, nvarchary

    ntextde nivel de columna y de nivel de datos de expresin. No se pueden utilizar con la clusula COLLATE para cambiar la intercalacin de una instancia de la base de datos o

    del servidor.

    Si la intercalacin especificada o la intercalacin usada por el objeto al que se hace referencia utiliza una pgina de cdigos no admitida por Windows, el Motor de base de

    datos muestra un error.

    Recomendaciones

    Puede buscar los nombres de intercalacin admitidos en Nombre de intercalacin de Windows TransactSQL y Nombre de intercalacin de SQL Server TransactSQL, o puede

    utilizar la funcin del sistema sys.fn_helpcollations (Transact-SQL).

    Al modificar la intercalacin de la base de datos tambin se cambian los siguientes elementos:

    Todas las columnas char, varchar, text, nchar, nvarcharo ntextde las tablas del sistema se cambian a la nueva intercalacin.

    Todos los parmetros char, varchar, text, nchar, nvarcharo ntexty valores devueltos escalares existentes para los procedimientos almacenados y las funciones definidas

    por el usuario se cambian a la nueva intercalacin.

    Los tipos de datos del sistema char, varchar, text, nchar, nvarcharo ntexty todos los tipos de datos definidos por el usuario basados en estos tipos de datos del

    sistema se cambian a la nueva intercalacin predeterminada.

    Para cambiar la intercalacin de cualquier objeto nuevo creado en una base de datos de usuario, utilice la clusula COLLATE de la instruccin ALTER DATABASE. Esta instruccin

    no modifica la intercalacin de las columnas de ninguna de las tablas definidas por el usuario existentes. Para modificarlas, utilice la clusula COLLATE de ALTER TABLE.

    Seguridad

    Permisos

    CREATE DATABASE

    Requiere el permiso CREATE DATABASE en la base de datos maestra, o los permisos CREATE ANY DATABASE o ALTER ANY DATABASE.

    ALTER DATABASERequiere el permiso ALTER en la base de datos.

    [Principio]

    Usar SQL Server Management Studio

    Para establecer o cambiar la intercalacin de base de datos

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos de SQL Server, expndala y, a continuacin, expanda Bases de datos.

    2. Si est creando una base de datos, haga clic con el botn secundario en Bases de datosy haga clic en Nueva base de datos. Si no desea que la intercalacin predeterminada,

    haga clic en la pgina Opcionesy seleccione una intercalacin en la lista desplegable Intercalacin.

    Como alternativa, si la base de datos ya existe, haga clic con el botn secundario en la base de datos que desee y haga clic en Propiedades. Haga clic en la pgina Opcionesyseleccione una intercalacin en la lista desplegable Intercalacin.

    3. Cuando haya terminado, haga clic en Aceptar.

    [Principio]

    SQL Server 2014

    http://msdn.microsoft.com/es-es/library/ms190273.aspxhttp://msdn.microsoft.com/es-es/library/ms174269.aspxhttp://msdn.microsoft.com/es-es/library/ms187963.aspxhttp://msdn.microsoft.com/es-es/library/ms180175.aspxhttp://msdn.microsoft.com/es-es/library/ms188046.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    11/18

    Usar Transact-SQL

    Para establecer la intercalacin de base de datos

    1. Conctese al Motor de base de datos.

    2. En la barra Estndar, haga clic en Nueva consulta.

    3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se muestra cmo usar la clusula COLLATEpara especificar un nombre de

    intercalacin.En el ejemplo de crea la base de datos MyOptionsTestque utiliza la intercalacin Latin1_General_100_CS_AS_SC. Despus de crear la base de datos, ejecute la

    instruccin SELECTpara comprobar la configuracin.

    Para cambiar la intercalacin de base de datos

    1. Conctese con el Motor de base de datos.

    2. En la barra Estndar, haga clic en Nueva consulta.

    3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se muestra cmo usar la clusula COLLATEen una instruccin ALTER

    DATABASEpara cambiar el nombre de la intercalacin.Ejecute la instruccin SELECTpara comprobar el cambio.

    [Principio]

    Vea tambin

    Referenciasys.fn_helpcollations (Transact-SQL)

    sys.databases (Transact-SQL)

    Nombre de intercalacin de SQL Server TransactSQL

    Nombre de intercalacin de Windows TransactSQL

    COLLATE (Transact-SQL)Prioridad de intercalacin TransactSQL

    CREATE TABLE (SQL Server)

    CREATE DATABASE (Transact-SQL de SQL Server)

    ALTER TABLE (Transact-SQL)

    ALTER DATABASE (Transact-SQL)

    Conceptos

    Compatibilidad con la intercalacin y Unicode

    2014 Microsoft

    USE master;

    GO

    IF DB_ID (N'MyOptionsTest') IS NOT NULL

    DROP DATABASE MyOptionsTest;

    GO

    CREATE DATABASE MyOptionsTest

    COLLATE Latin1_General_100_CS_AS_SC;

    GO

    --Verify the collation setting.

    SELECT name, collation_name

    FROM sys.databases

    WHERE name = N'MyOptionsTest';

    GO

    USE master;

    GO

    ALTER DATABASE MyOptionsTest

    COLLATE French_CI_AS ;

    GO

    --Verify the collation setting.

    SELECT name, collation_name

    FROM sys.databases

    WHERE name = N'MyOptionsTest';

    GO

    Transact-SQL

    Transact-SQL

    http://msdn.microsoft.com/es-es/library/ms188046.aspxhttp://msdn.microsoft.com/es-es/library/ms179886.aspxhttp://msdn.microsoft.com/es-es/library/ms176061.aspxhttp://msdn.microsoft.com/es-es/library/ms174269.aspxhttp://msdn.microsoft.com/es-es/library/ms143726.aspxhttp://msdn.microsoft.com/es-es/library/ms174269.aspxhttp://msdn.microsoft.com/es-es/library/ms143726.aspxhttp://msdn.microsoft.com/es-es/library/ms174269.aspxhttp://msdn.microsoft.com/es-es/library/ms190273.aspxhttp://msdn.microsoft.com/es-es/library/ms176061.aspxhttp://msdn.microsoft.com/es-es/library/ms174979.aspxhttp://msdn.microsoft.com/es-es/library/ms179886.aspxhttp://msdn.microsoft.com/es-es/library/ms184391.aspxhttp://msdn.microsoft.com/es-es/library/ms188046.aspxhttp://msdn.microsoft.com/es-es/library/ms180175.aspxhttp://msdn.microsoft.com/es-es/library/ms178534.aspxhttp://msdn.microsoft.com/es-es/library/ms187963.aspxhttp://msdn.microsoft.com/es-es/library/ms174269.aspxhttp://msdn.microsoft.com/es-es/library/ms184391.aspxhttp://msdn.microsoft.com/es-es/library/ms184391.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    12/18

    Establecer o cambiar la intercalacin de columnas

    Puede invalidar la intercalacin de base de datos para los datos char, varchar, text, nchar, nvarchary ntextespecificando una intercalacin diferente para una columna especfica de una

    tabla y utilizando una de las siguientes clusulas:

    La clusula COLLATE de CREATE TABLEy ALTER TABLE. Por ejemplo:

    SQL Server Management Studio. Para obtener ms informacin, vea Compatibilidad con la intercalacin y Unicode.

    Usar la propiedad Column.Collation de Objetos de administracin de SQL Server SMO.

    No puede cambiar una intercalacin de una columna a la que se hace referencia mediante uno de los siguientes elementos:

    Una columna calculada

    Un ndice

    Estadsticas de distribucin, ya sean generadas automticamente o mediante la instruccin CREATE STATISTICS

    Una restriccin CHECK

    Una restriccin FOREIGN KEY

    Al trabajar con la base de datos tempdb, la clusula COLLATEincluye una opcin database_defaultpara especificar que una columna de una tabla temporal utilice el valor predeterminado

    de intercalacin de la base de datos del usuario actual para la conexin en lugar de la intercalacin de tempdb.

    Intercalaciones y columnas de texto

    Puede insertar o actualizar los valores de una columna textcuya intercalacin sea diferente a la de la pgina de cdigos de la intercalacin predeterminada de la base de datos.SQL

    Server convierte implcitamente los valores a la intercalacin de la columna.

    Intercalacin y tempdb

    La base de datos tempdbse crea cada vez que se inicia SQL Server y tiene la misma intercalacin predeterminada que la base de datos model. Suele ser la misma que la intercalacin

    predeterminada de la instancia. Si crea una base de datos de usuario y especifica una intercalacin predeterminada distinta de model, la base de datos de usuario tiene una

    intercalacin predeterminada distinta de tempdb. Todos los procedimientos almacenados temporales o tablas temporales se crean y se almacenan en tempdb. Esto significa que

    todas las columnas implcitas de las tablas temporales y todas las constantes, variables y parmetros coaccionablepredeterminados en los procedimientos almacenados temporales

    tienen intercalaciones distintas de los objetos comparables creados en las tablas y procedimientos almacenados permanentes.

    Esto puede causar problemas con una discrepancia en intercalaciones entre bases de datos definidas por el usuario y objetos de base de datos del sistema. Por ejemplo, una instancia

    de SQL Server utiliza la intercalacin Latin1_General_CS_AS y se ejecutan las siguientes instrucciones:

    En este sistema, la base de datos tempdbutiliza la intercalacin Latin1_General_CS_AS con la pgina de cdigos 1252, y TestDBy TestPermTab.Col1utilizan la intercalacin

    Estonian_CS_AScon la pgina de cdigos 1257. Por ejemplo:

    Con el ejemplo anterior, la base de datos tempdbutiliza la intercalacin Latin1_General_CS_AS collation; y TestDBy TestTab.Col1utilizan la intercalacin Estonian_CS_AS. Por ejemplo:

    Dado que tempdbutiliza la intercalacin de servidor predeterminada y TestPermTab.Col1utiliza una intercalacin diferente, SQL Server devuelve este error: "No se puede resolver el

    conflicto de intercalacin entre 'Latin1_General_CI_AS_KS_WS' y 'Estonian_CS_AS' en la operacin Igual a".

    SQL Server 2014

    CREATE TABLE dbo.MyTable

    (PrimaryKey int PRIMARY KEY,

    CharCol varchar(10) COLLATE French_CI_AS NOT NULL

    );

    GO

    ALTER TABLE dbo.MyTable ALTER COLUMN CharCol

    varchar(10)COLLATE Latin1_General_CI_AS NOT NULL;

    GO

    CREATE DATABASE TestDB COLLATE Estonian_CS_AS;

    USE TestDB;

    CREATE TABLE TestPermTab (PrimaryKey int PRIMARY KEY, Col1 nchar );

    USE TestDB;

    GO

    -- Create a temporary table with the same column declarations

    -- as TestPermTab

    CREATE TABLE #TestTempTab (PrimaryKey int PRIMARY KEY, Col1 nchar );

    INSERT INTO #TestTempTab

    SELECT * FROM TestPermTab;

    GO

    SELECT * FROM TestPermTab AS a INNER JOIN #TestTempTab on a.Col1 = #TestTempTab.Col1;

    http://msdn.microsoft.com/es-es/library/ms184391.aspxhttp://msdn.microsoft.com/es-es/library/ms143726.aspxhttp://msdn.microsoft.com/es-es/library/ms190273.aspxhttp://msdn.microsoft.com/es-es/library/ms174979.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    13/18

    Para evitar el error, puede utilizar cualquiera de las alternativas siguientes:

    Especifique que la columna de la tabla temporal utilice la intercalacin predeterminada de la base de datos de usuario, no tempdb. Esto permite que la tabla temporal trabaje

    con tablas de un formato parecido en varias bases de datos, si es un requisito de su sistema.

    Especifique la intercalacin correcta de la columna #TestTempTab:

    Vea tambin

    Conceptos

    Configurar o cambiar la intercalacin del servidor

    Establecer o cambiar la intercalacin de base de datos

    Compatibilidad con la intercalacin y Unicode

    2014 Microsoft

    CREATE TABLE #TestTempTab

    (PrimaryKey int PRIMARY KEY,

    Col1 nchar COLLATE database_default

    );

    CREATE TABLE #TestTempTab

    (PrimaryKey int PRIMARY KEY,

    Col1 nchar COLLATE Estonian_CS_AS

    );

    http://msdn.microsoft.com/es-es/library/ms143726.aspxhttp://msdn.microsoft.com/es-es/library/ms175835.aspxhttp://msdn.microsoft.com/es-es/library/ms179254.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    14/18

    Ver informacin de intercalacin

    Puede ver la intercalacin de un servidor, una base de datos o una columna en SQL Server Management Studio mediante las opciones de men del Explorador de objetos o mediante

    Transact-SQL.

    Cmo ver una configuracin de intercalacin

    Puede usar cualquiera de los siguientes medios:

    SQL Server Management Studio

    Transact-SQL

    Usar SQL Server Management Studio

    Para ver una configuracin de intercalacin de un servidor instancia de SQL Server en el Explorador de objetos

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos.

    2. Haga clic con el botn secundario del mouse en la instancia y seleccione Propiedades.

    Para ver una configuracin de intercalacin de una base de datos en el Explorador de objetos

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos y expndala.

    2. Expanda Bases de datos, haga clic con el botn secundario en la base de datos y seleccione Propiedades.

    Para ver una configuracin de intercalacin de una columna en el Explorador de objetos

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos y expndala.

    2. Expanda Bases de datos, la base de datos y, por ltimo, Tablas.

    3. Expanda la tabla que contiene la columna y, a continuacin, Columnas.

    4. Haga clic con el botn secundario en la columna y seleccione Propiedades. Si la propiedad collation est vaca, la columna no es un tipo de datos de caracteres.

    [Arriba]

    Usar Transact-SQLPara ver la configuracin de intercalacin de un servidor

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos y, en la barra de herramientas, haga clic en Nueva consulta.

    2. En la ventana de consulta, escriba la siguiente instruccin que usa la funcin de sistema SERVERPROPERTY.

    3. Tambin puede usar el procedimiento almacenado del sistema sp_helpsort.

    Para ver todas las intercalaciones admitidas por SQL Server 2014

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos y, en la barra de herramientas, haga clic en Nueva consulta.

    2. En la ventana de consulta, escriba la siguiente instruccin que usa la funcin de sistema SERVERPROPERTY.

    Para ver la configuracin de intercalacin de una base de datos

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos y, en la barra de herramientas, haga clic en Nueva consulta.

    2. En la ventana de consulta, escriba la siguiente instruccin que usa la vista de catlogo del sistema sys.databases.

    3. Tambin puede usar la funcin del sistema DATABASEPROPERTYEX.

    SQL Server 2014

    SELECT CONVERT (varchar, SERVERPROPERTY('collation'));

    EXECUTE sp_helpsort;

    SELECT name, description FROM sys.fn_helpcollations();

    SELECT name, collation_name FROM sys.databases;

    http://localhost/var/www/apps/conversion/tmp/scratch_2/#TsqlProcedure
  • 7/23/2019 SQL 2014_Intercalacion

    15/18

    Para ver la configuracin de intercalacin de una columna

    1. En el Explorador de objetos, conctese a una instancia de Motor de base de datos y, en la barra de herramientas, haga clic en Nueva consulta.

    2. En la ventana de consulta, escriba la siguiente instruccin que usa la vista de catlogo del sistema sys.columns.

    [Arriba]

    Vea tambin

    ReferenciaSERVERPROPERTY (Transact-SQL)

    sys.fn_helpcollations (Transact-SQL)

    sys.databases (Transact-SQL)

    sys.columns (Transact-SQL)

    Prioridad de intercalacin TransactSQL

    sp_helpsort (Transact-SQL)

    2014 Microsoft

    SELECT CONVERT (varchar, DATABASEPROPERTYEX('database_name','collation'));

    SELECT name, collation_name FROM sys.columns WHERE name = N'';

    http://msdn.microsoft.com/es-es/library/ms175986.aspxhttp://msdn.microsoft.com/es-es/library/ms179886.aspxhttp://msdn.microsoft.com/es-es/library/ms176106.aspxhttp://msdn.microsoft.com/es-es/library/ms178534.aspxhttp://msdn.microsoft.com/es-es/library/ms187963.aspxhttp://msdn.microsoft.com/es-es/library/ms174396.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    16/18

    Escribir instrucciones Transact-SQL internacionales

    Las bases de datos y las aplicaciones de bases de datos que utilizan instrucciones TransactSQL obtendrn una mayor portabilidad de un idioma a otro, o admitirn varios idiomas, si se

    siguen estas directrices:

    Reemplace todos los tipos de datos char, varchary textcon nchar, nvarchary nvarchar(max)respectivamente. De esta forma, se evita problemas de conversin de pginas de

    cdigos.Para obtener ms informacin, vea Compatibilidad con la intercalacin y Unicode.

    Cuando realice comparaciones y operaciones con los meses y das de la semana, utilice las partes numricas de la fecha en lugar de cadenas de nombres. Las distintasconfiguraciones de idioma devuelven nombres diferentes para los meses y los das de la semana. Por ejemplo, DATENAME(MONTH,GETDATE()) devuelve May cuando el idioma

    est establecido en ingls de EE.UU.Mai cuando el idioma es alemn y mai cuando el idioma es francs. En su lugar, utilice una funcin como DATEPART que utiliza el nmero del

    mes en lugar del nombre. Utilice los nombres DATEPART cuando genere conjuntos de resultados que se van a mostrar al usuario ya que, generalmente, los nombres de fecha

    resultan ms significativos que una representacin numrica.No codifique, sin embargo, ninguna lgica que dependa de que los nombres mostrados estn en un idioma

    determinado.

    Cuando especifique fechas en las comparaciones o como entrada de las instrucciones INSERT o UPDATE, utilice constantes que se interpretan igual en todas las configuraciones de

    idioma:

    Las aplicaciones ADO, OLE DB y ODBC deben utilizar la siguiente marca de tiempo, fecha y clusulas de escape de hora ODBC:

    { ts'aaaa-mm-ddhh:mm:ss[.fff]'}como: { ts'1998-09-24 10:02:20' }

    { d'aaaa-mm-dd'}como: { d'1998-09-24'}

    { t'hh:mm:ss'}como: { t'10:02:20'}

    Las aplicaciones que utilizan otras API o desencadenadores, procedimientos almacenados y scripts TransactSQL deben utilizar las cadenas numricas sin separar. Por

    ejemplo,yyyymmddcomo en 19980924.

    Las aplicaciones que usan otras API o scripts, procedimientos almacenados y desencadenadores TransactSQL deben utilizar la instruccin CONVERT con un parmetro de

    estilo explcito para todas las conversiones entre los tipos de datos time, date, smalldate, datetime,datetime2y datetimeoffsety los tipos de datos de cadenas de

    caracteres. Por ejemplo, la siguiente instruccin se interpreta igual en todas las configuraciones de conexin de formato de fecha o de idioma:

    Para obtener ms informacin, vea CAST y CONVERT (Transact-SQL).

    2014 Microsoft

    SQL Server 2014

    SELECT *

    FROM AdventureWorks2012.Sales.SalesOrderHeader

    WHERE OrderDate = CONVERT(DATETIME, '20060719', 101)

    http://msdn.microsoft.com/es-es/library/ms187928.aspxhttp://msdn.microsoft.com/es-es/library/ms143726.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    17/18

    Establecer un idioma dela sesin

    El idioma de la sesin se puede utilizar para establecer la forma en que se muestran los siguientes elementos en el servidor, dependiendo de la preferencia cultural y de idioma:

    El lenguaje que se usar para los mensajes de error y otros mensajes del sistema.SQL Server admite varias copias de todas las cadenas de error del sistema y mensajes en todos

    los idiomas en los que SQL Server est disponible.Estos mensajes se pueden ver en la vista de catlogo sys.messages. Cuando se instala una versin traducida de SQL Server,

    estos mensajes del sistema se traducen a la versin de idioma que se instala.Tambin se obtiene de forma predeterminada. El conjunto en ingls de EE.UU. de estos mensajes

    Adems, se pueden agregar mensajes definidos por el usuario en un idioma especfico con sp_addmessage.

    El formato de los datos de fecha y hora.

    Los nombres de das y meses, incluidas las abreviaturas.

    El primer da de la semana.

    Los datos de moneda.

    Existen 33 idiomas disponibles para ser utilizados como valores de la sesin.Para obtener una lista de los idiomas, vea sys.syslanguages.

    Configurar el idioma de la sesin desde el servidor

    Para establecer el idioma de la sesin desde el servidor, utilice SET LANGUAGE.

    Configurar el idioma de la sesin desde el cliente

    El idioma de la sesin se puede establecer del lado cliente con OLE DB, ODBC o ADO.NET. Para OLE DB, utili ce la propiedad SSPROP_INIT_CURRENTLANGUAGE. Para obtener ms

    informacin, vea Propiedades de inicializacin y autorizacin.

    Para ODBC, utilice la palabra clave Language. Para obtener ms informacin, vea SQLConfigDataSource.

    Para ADO.NET, utilice el parmetro Current Languagedel objeto ConnectionString. Para obtener ms informacin, vea la documentacin del kit de desarrollo de software SDK de

    Microsoft Data Access Components (MDAC).

    2014 Microsoft

    SQL Server 2014

    http://msdn.microsoft.com/es-es/library/ms187382.aspxhttp://msdn.microsoft.com/es-es/library/ms131377.aspxhttp://msdn.microsoft.com/es-es/library/ms130898.aspxhttp://msdn.microsoft.com/es-es/library/ms131377.aspxhttp://msdn.microsoft.com/es-es/library/ms174398.aspxhttp://msdn.microsoft.com/es-es/library/ms190303.aspxhttp://msdn.microsoft.com/es-es/library/ms178649.aspxhttp://msdn.microsoft.com/es-es/library/ms187382.aspx
  • 7/23/2019 SQL 2014_Intercalacion

    18/18