12 Mayıs 2023 Cuma

Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek

 SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "gg.aa.yyyy" şeklindedir. Bu formatı elde etmek için SQL sorgunuzda FORMAT(date, 'dd.MM.yyyy') kullanabilirsiniz.

Örneğin, "Orders" adlı bir tabloda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:

SQL
SELECT FORMAT(OrderDate, 'dd.MM.yyyy') AS KısaTarih FROM Orders

Bu sorgu, "Orders" tablosundaki her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürecek ve sonuçları "KısaTarih" adlı bir sütunda gösterecektir.

Evet, başka bir yöntem de tarihleri CONVERT fonksiyonu ile çevirmektir. Türkçe kısa tarih formatı için kullanılacak CONVERT fonksiyonu şu şekildedir:

SQL
CONVERT(varchar, OrderDate, 104) AS KısaTarih

Burada, 104 format kodu Türkçe kısa tarih formatına karşılık gelir.

Örneğin, yukarıdaki örnekteki "Orders" tablosundaki "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürmek istiyorsanız, aşağıdaki SQL sorgusunu kullanabilirsiniz:

SQL
SELECT CONVERT(varchar, OrderDate, 104) AS KısaTarih FROM Orders

Bu sorgu da her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürür ve sonuçları "KısaTarih" adlı bir sütunda gösterir.


Başka bir yöntem de FORMAT fonksiyonunu kullanmak yerine CONVERT fonksiyonunu kullanmaktır. Bu yöntemde, CONVERT fonksiyonu ile tarihi nvarchar veri tipine dönüştürüp ardından istediğiniz formatta formatlayabilirsiniz.

Örneğin, "Orders" tablosunda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:

SQL
SELECT CONVERT(nvarchar(10), OrderDate, 104) AS KısaTarih FROM Orders

Bu sorgu, "Orders" tablosundaki her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürecek ve sonuçları "KısaTarih" adlı bir sütunda gösterecektir.

Burada 104 format kodu, Türkçe kısa tarih formatına karşılık gelir. nvarchar(10) ise, çıktının maksimum 10 karakter olacağını belirtir. Tarih uzunluğu 10 karakterdir çünkü Türkçe kısa tarih formatı "gg.aa.yyyy" şeklindedir.

Başka bir yöntem olarak, SQL Server'ın yerel FORMAT fonksiyonu yerine .NET Framework'ün ToString() yöntemini kullanabilirsiniz. Bu yöntem, daha esnek bir şekilde tarih biçimlendirme sağlar.

Örneğin, "Orders" tablosunda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:

SQL
SELECT OrderDate.ToString('dd.MM.yyyy') AS KısaTarih FROM Orders

Bu sorgu, .NET Framework'ün ToString() yöntemini kullanarak "Orders" tablosundaki her satır için "OrderDate" sütununu Türkçe kısa tarih formatına dönüştürecek ve sonuçları "KısaTarih" adlı bir sütunda gösterecektir.

Bu yöntem, FORMAT fonksiyonuna göre daha yavaş olabilir, ancak daha fazla esneklik sağlar ve daha özelleştirilebilir.

Evet, başka bir yöntem olarak DATENAME ve DATEPART fonksiyonlarını kullanarak da Türkçe kısa tarih formatına benzer bir şekilde tarihleri çeşitli parçalara ayırabilirsiniz. Bu yöntemde, tarihi yıl, ay ve gün olarak ayırarak ve ardından bu parçaları nokta veya başka bir karakterle birleştirerek Türkçe kısa tarih formatına benzer bir çıktı elde edebilirsiniz.

Örneğin, "Orders" tablosunda "OrderDate" adlı bir tarih sütunu olduğunu varsayalım ve bu sütunu Türkçe kısa tarih formatına dönüştürmek istiyoruz. Aşağıdaki SQL sorgusu bunu yapacaktır:

SQL
SELECT CONVERT(nvarchar(2), DATEPART(dd, OrderDate)) + '.' + CONVERT(nvarchar(2), DATEPART(mm, OrderDate)) + '.' + CONVERT(nvarchar(4), DATEPART(yyyy, OrderDate)) AS KısaTarih FROM Orders

Bu sorgu, "Orders" tablosundaki her satır için "OrderDate" sütununu yıl, ay ve gün olarak ayırarak ve bu parçaları nokta karakteriyle birleştirerek Türkçe kısa tarih formatına benzer bir çıktı oluşturacaktır.


5 Mayıs 2023 Cuma

Saving changes is not permitted" hatası

""Saving changes is not permitted" hatası, SQL Server Management Studio'da (SSMS) bir tablo veya görünüm gibi nesneler üzerinde yapılan değişikliklerin kaydedilememesi durumunda ortaya çıkan bir hatadır. Bu hatanın birkaç farklı sebebi olabilir, ancak en yaygın nedenlerden biri, SSMS'in "Prevent saving changes that require table re-creation" seçeneğinin etkinleştirilmesidir.

Bu seçenek, bir tabloya veya görünüme yapılan değişikliklerin tablo yeniden oluşturulmasını gerektirmesi durumunda, SSMS tarafından kaydedilmesinin engellenmesini sağlar. Bu seçeneği devre dışı bırakarak, değişikliklerin kaydedilmesine izin verilebilir.

"Prevent saving changes that require table re-creation" seçeneğini devre dışı bırakmak için şu adımları izleyebilirsiniz:

  1. SSMS'de araçlar menüsünden "Options" seçeneğine tıklayın.
  2. Sol taraftaki listeden "Designers" seçeneğine tıklayın.
  3. "Table and Database Designers" başlığı altında "Prevent saving changes that require table re-creation" seçeneğinin işaretini kaldırın.
  4. Değişiklikleri kaydedin ve SSMS'i yeniden başlatın.

Bu işlemi yaptıktan sonra, tablo veya görünümlerdeki değişiklikleri kaydedebilirsiniz. Ancak, bu seçeneğin devre dışı bırakılması, tablo yeniden oluşturulması gerektiğinde beklenmeyen sonuçlar doğurabilir. Bu nedenle, değişiklikler yapmadan önce, tablolarınızın yedeğini almayı ve gerekli önlemleri almayı unutmayın. SQL Server Management Studio'da (SSMS) bir tablo veya görünüm gibi nesneler üzerinde yapılan değişikliklerin kaydedilememesi durumunda ortaya çıkan bir hatadır. Bu hatanın birkaç farklı sebebi olabilir, ancak en yaygın nedenlerden biri, SSMS'in "Prevent saving changes that require table re-creation" seçeneğinin etkinleştirilmesidir.

Bu seçenek, bir tabloya veya görünüme yapılan değişikliklerin tablo yeniden oluşturulmasını gerektirmesi durumunda, SSMS tarafından kaydedilmesinin engellenmesini sağlar. Bu seçeneği devre dışı bırakarak, değişikliklerin kaydedilmesine izin verilebilir.

"Prevent saving changes that require table re-creation" seçeneğini devre dışı bırakmak için şu adımları izleyebilirsiniz:

  1. SSMS'de araçlar menüsünden "Options" seçeneğine tıklayın.
  2. Sol taraftaki listeden "Designers" seçeneğine tıklayın.
  3. "Table and Database Designers" başlığı altında "Prevent saving changes that require table re-creation" seçeneğinin işaretini kaldırın.
  4. Değişiklikleri kaydedin ve SSMS'i yeniden başlatın.

Bu işlemi yaptıktan sonra, tablo veya görünümlerdeki değişiklikleri kaydedebilirsiniz. Ancak, bu seçeneğin devre dışı bırakılması, tablo yeniden oluşturulması gerektiğinde beklenmeyen sonuçlar doğurabilir. Bu nedenle, değişiklikler yapmadan önce, tablolarınızın yedeğini almayı ve gerekli önlemleri almayı unutmayın.

Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek

  SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "...