Aracılığıyla paylaş


Uluslararası Transact-SQL deyimleri yazma

Veritabanları ve veritabanı kullanan uygulamalar Transact-SQL ifadeleri başka bir dilden daha taşınabilir hale gelir veya aşağıdaki yönergeleri izlediyseniz birden çok dili destekler:

  • Tüm kullanımlarını değiştirmek char, varchar, ve text veri türleriyle nchar, nvarchar, ve nvarchar(max).Bunu yaptığınızda, kod sayfa dönüştürme konularını göz önünde bulundurmanız gerekmez.Daha fazla bilgi için bkz: Unicode verilerle çalışma ve Unicode ile sunucu tarafı programlama.

  • Ay ve gün hafta içi karşılaştırmaları ve işlemler gerçekleştirdiğinizde, adı dizeleri kullanmak yerine sayısal tarih bölümlerini kullanın.Ayları ve haftaları için farklı adlar farklı dil ayarlarına dönün.Örneğin, datename(month,getdate()) dil iken Mayıs verir küme ABD içinDil ise İngilizce, döner Mai küme Almanca ve dil verir mai küme -Fransızca.Bunun yerine, bir işlev adı yerine ay sayısını kullanır datepart gibi.tarih adları sayısal gösterimini sık seçeceği, çünkü bir kullanıcı için görüntülenecek sonuç kümeleri oluştururken datepart adlarını kullanın.Ancak, belirli bir dil olan görüntülenen adları bağlı mantığı kodu.

  • 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 saat yan tümceleri birini kullanmanız gerekir:

      { ts'yyyy-mm-ddhh**: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-SQL komut dosyaları, saklı yordamları ve tetikleyicileri, kullanması gereken unseparated sayısal dize.Örneğin, yyyymmdd olarak 19980924.

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

      SELECT *
      FROM AdventureWorks2008R2.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: Tarih ve saat veri kullanma.