Uluslararası Transact-sql deyimleri yazma

Veritabanları ve veritabanı uygulamaları kullanan Transact-SQLdeyimleri bir dilden diğerine daha taşınabilir olacak ya da aşağıdaki yönergeleri izlediyseniz birden çok dilde destek olacak:

  • Tüm kullanımlarını değiştirmek char, varchar, ve textveri türleriyle nchar, nvarchar, ve nvarchar(max). Bunu yaparak, kod sayfası dönüştürme bulundurmanız gerekmez. Daha fazla bilgi için International Considerations for Databases and Database Engine Applicationsve Server-side Programming with Unicode.

  • Ay ve haftanın günü karşılaştırmaları ve işlemleri gerçekleştirdiğinizde, sayısal tarihi parçalar yerine ad dize kullanırsınız. Hafta ve ay için farklı adlar farklı dil ayarlarına dönün. Örneğin ABD'de dil ayarlandığında May datename(month,getdate()) döndürür. İngilizce dili Almanca, ve Fransızca dil ayarlandığında mai döner Mai döndürür. Ay numarası yerine adını kullanan datepart gibi bir işlev yerine. Çünkü tarihi adları sayısal gösterimi sık daha anlamlı bir kullanıcıya görüntülenecek sonuç kümeleri oluştururken datepart adlarını kullanın. Ancak, belirli bir dil--dan varlık görüntülenen adları bağlıdır herhangi bir mantık kod değil.

  • Karşılaştırmaları veya INSERT veya update deyimleri giriş tarihleri belirttiğinizde, tüm dil ayarları ile aynı şekilde yorumlanır sabitleri kullanın:

    • ado, ole db ve odbc uygulamalarının odbc zaman damgası, Tarih ve saati escape yan tümceleri kullanmalısınız:

      {ts 'yyyy-mm-dd hh**:mm:ss.fff '} such as: { ts '1998-09-24 10:02:20' }**

      { d 'yyyy-mm-dd**'}** such as: { d '1998-09-24**'** }

      { t 'hh:mm:ss'} such as: { t '10:02:20'}

    • Diğer API kullanan uygulamalar ya da Transact-SQLkomut dosyaları, saklı yordamları ve Tetikleyicileri, unseparated sayısal dizeleri kullanmalıdır. Örneğin, yyyymmddolarak 19980924.

    • Diğer API kullanan uygulamalar ya da Transact-SQLkomut dosyaları, saklı yordamları ve Tetikleyicileri kullanması gereken dönüştürme deyimi bir açık stili parametresi ile tüm dönüşümler time, date, smalldate, datetime, datetime2, ve datetimeoffsetveri türleri ve karakter dizesi veri türü. Örneğin, aşağıdaki deyim tüm dil veya Tarih biçimi bağlantı ayarları için aynı şekilde yorumlanır:

      SELECT *
      FROM AdventureWorks2012.Sales.SalesOrderHeader
      WHERE OrderDate = CONVERT(DATETIME, '20060719', 101)
      

      Daha fazla bilgi için, bkz. CAST ve CONVERT (Transact-SQL).

      Tarih ve saat biçimleri taşınabilirlik daha fazla bilgi için bkz: Using Date and Time Data.

Ayrıca bkz.

Diğer Kaynaklar

International Considerations for Databases and Database Engine Applications