Tags: , , , | Categories: Script, Tip, Veritabanı Posted by okutbay on 22.04.2011 19:53 | Yorumlar (0)

SQL Serverda text deger içeren bir kolonda like ile sorgulama yapmak istediğinizde arama kriteriniz sorgularda özel anlamı olan karakterler içeriyorsa [] içinde kullanabilirsiniz

Örneğin "_" içere arama kriterlerinde [] içinde yazarsanız sorgunu o kolonda içinde "_" geçen kayıtları döndürecektir... 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Categories: Veritabanı Posted by okutbay on 13.11.2009 12:10 | Yorumlar (0)

If you encounter a deadlock problem this resources can help to understand and solve the problem.

Deadlocking
http://msdn.microsoft.com/en-us/library/ms177433.aspx

Minimizing Deadlocks
http://msdn.microsoft.com/en-us/library/ms191242.aspx

Detecting and Ending Deadlocks
http://msdn.microsoft.com/en-us/library/ms178104.aspx

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , , | Categories: Programlama, SSS (FAQ), Tip, Veritabanı Posted by okutbay on 03.09.2009 11:54 | Yorumlar (0)

When you are developing application you may need to store timespan database. (Assuming you are using Sql Server 2005)

TimeSpan.TotalSeconds can be used to store. This returns a double. And maps to decimal data type of the sql server. For reverse action to get the time span you can use TimeSpan.FromSeconds method. This will give you the nearest millisecond value of the stored data.

But if you need accuracy you can use TimeSpan.Ticks method is suitable for you. This returns Int64 (long) and maps to bigint data type for to store in db.You can convert it to TimeSpan with the TimeSpan.FromTicks method.

"Using Ticks more accurate then FromSeconds"

Sample (.aspx page):

 

    1 string startTime = "13:46:33.5268767";

    2 string endTime = "13:47:03.1988761";

    3 DateTime startDate = Convert.ToDateTime(startTime);

    4 DateTime endDate = Convert.ToDateTime(endTime);

    5 

    6 Response.Write(string.Format("Start Date : {0}<br/>", startDate));

    7 Response.Write(string.Format("End Date : {0}<br/>", endDate));

    8 

    9 

   10 TimeSpan timeSpan = endDate - startDate;

   11 double timeSpanValue1 = timeSpan.TotalSeconds;

   12 long timeSpanValue2 = timeSpan.Ticks;

   13 

   14 Response.Write(string.Format("From Seconds : {0} (Rounded To Nearest Millisecond)<br/>",TimeSpan.FromSeconds(timeSpanValue1)));

   15 Response.Write(string.Format("From Ticks : {0} (More Accurate)<br/>", TimeSpan.FromTicks(timeSpanValue2)));

Happy coding...

 

 

 

2 kişi tarafından 2.5 olarak değerlendirildi

  • Currently 2,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Categories: Veritabanı Posted by okutbay on 26.05.2009 10:43 | Yorumlar (1)

Sql serverda collation kolon seviyesinde ayarlanabilir. Farklı collation ayarlarına sahip tablolar üzerinde sorgu yaparken aşağıdaki hata ile karşılaşırsınız.

"Cannot resolve collation conflict for column X in SELECT statement."

Bu sorunu basitçe aşmak için sorunu yaratan kolon (hata mesajında X sıra numarası ile bildirilen kolon) için "COLLATE DATABASE_DEFAULT" kullanmaktır

[KolonAdi] COLLATE DATABASE_DEFAULT

DATABASE_DEFAULT yerine açık olarak istediğiniz collation adını da yazabilirsiniz.

Ör:  SQL_Latin1_General_CP1254_CI_AS, Turkish_CI_AS

İlave: Bir tablodaki kolonun collation ayarini degistirmek icin sunu yazabilirsiniz

ALTER TABLE dbo.Product
ALTER COLUMN [Description]
varchar(max)
COLLATE Latin1_General_CI_AS
NOT NULL

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5