Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tarih, saat ve zaman damgası değişmez değerleri için kaçış dizisi şudur:
{-type'value'}
burada literal türü, aşağıdaki tabloda listelenen değerlerden biridir.
| literal türü | Meaning | Değer biçimi |
|---|---|---|
| d | Date | yyyy-Mm-Dd |
| T | Saat* | hh:mm:ss |
| Ts | Zaman Damgası | yyyy-mm-ddhh:mm:ss[.f...][1] |
Saniye bileşeni içeren bir zaman veya zaman damgası aralığı değişmez değerinin içindeki ondalık noktasının sağındaki basamak sayısı, SQL_DESC_PRECISION tanımlayıcı alanında yer alan saniye duyarlığına bağlıdır. (Daha fazla bilgi için bkz . SQLSetDescField.)
Tarih, saat ve zaman damgası kaçış dizileri hakkında daha fazla bilgi için ek C: SQL Dil Bilgisi'nde Tarih, Saat ve Zaman Damgası Kaçış Sıraları'na bakın.
Örneğin, aşağıdaki SQL deyimlerinin her ikisi de Siparişler tablosundaki satış siparişi 1023'ün açık tarihini güncelleştirir. İlk ifade kaçış dizisi söz dizimini kullanır. İkinci deyim, TARİh sütunu için Oracle Rdb yerel söz dizimini kullanır ve birlikte çalışamaz.
UPDATE Orders SET OpenDate={d '1995-01-15'} WHERE OrderID=1023
UPDATE Orders SET OpenDate='15-Jan-1995' WHERE OrderID=1023
Tarih, saat veya zaman damgası değişmez değeri için kaçış dizisi, tarih, saat veya zaman damgası parametresine bağlı bir karakter değişkenine de yerleştirilebilir. Örneğin, aşağıdaki kod Siparişler tablosundaki satış siparişi 1023'ün açık tarihini güncelleştirmek için karakter değişkenine bağlı bir tarih parametresi kullanır:
SQLCHAR OpenDate[56]; // The size of a date literal is 55.
SQLINTEGER OpenDateLenOrInd = SQL_NTS;
// Bind the parameter.
SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_TYPE_DATE, 0, 0,
OpenDate, sizeof(OpenDate), &OpenDateLenOrInd);
// Place the date in the OpenDate variable. In addition to the escape
// sequence shown, it would also be possible to use either of the
// strings "{d '1995-01-15'}" and "15-Jan-1995", although the latter
// is data source-specific.
strcpy_s( (char*) OpenDate, _countof(OpenDate), "{d '1995-01-15'}");
// Execute the statement.
SQLExecDirect(hstmt, "UPDATE Orders SET OpenDate=? WHERE OrderID = 1023", SQL_NTS);
Ancak, parametreyi doğrudan bir tarih yapısına bağlamak genellikle daha verimlidir:
SQL_DATE_STRUCT OpenDate;
SQLINTEGER OpenDateInd = 0;
// Bind the parameter.
SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_TYPE_DATE, SQL_TYPE_DATE, 0, 0,
&OpenDate, 0, &OpenDateLen);
// Place the date in the dsOpenDate structure.
OpenDate.year = 1995;
OpenDate.month = 1;
OpenDate.day = 15;
// Execute the statement.
SQLExecDirect(hstmt, "UPDATE Employee SET OpenDate=? WHERE OrderID = 1023", SQL_NTS);
Bir sürücünün tarih, saat veya zaman damgası değişmez değerleri için ODBC kaçış dizilerini destekleyip desteklemediğini belirlemek için bir uygulama SQLGetTypeInfo çağırır. Veri kaynağı bir tarih, saat veya zaman damgası veri türünü destekliyorsa ilgili kaçış sırasını da desteklemelidir.
Veri kaynakları ayrıca ANSI SQL-92 belirtiminde tanımlanan ve tarih, saat veya zaman damgası değişmez değerleri için ODBC kaçış dizilerinden farklı olan tarih saat değişmez değerlerini de destekleyebilir. Bir veri kaynağının ANSI değişmez değerlerini destekleyip desteklemediğini belirlemek için, bir uygulama SQL_ANSI_SQL_DATETIME_LITERALS seçeneğiyle SQLGetInfo çağırır.
Bir sürücünün aralık değişmez değerleri için ODBC kaçış dizilerini destekleyip desteklemediğini belirlemek için bir uygulama SQLGetTypeInfo çağırır. Veri kaynağı bir tarih saat aralığı veri türünü destekliyorsa ilgili kaçış sırasını da desteklemelidir.
Veri kaynakları, ANSI SQL-92 belirtiminde tanımlanan ve tarih saat aralığı değişmez değerleri için ODBC kaçış dizilerinden farklı olan tarih saat değişmez değerlerini de destekleyebilir. Bir veri kaynağının ANSI değişmez değerlerini destekleyip desteklemediğini belirlemek için, bir uygulama SQL_ANSI_SQL_DATETIME_LITERALS seçeneğiyle SQLGetInfo çağırır.