سؤال

وحي:

select systimestamp from dual

MySQL:

select current_timestamp

خادم قاعدة البيانات:

select current_timestamp

postgresql:

select current_timestamp

السؤال هو، كيف يمكنني الحصول على الطابع الزمني الحالي في hsqldb.ب يمكنني استخدام الإصدار 1.8.0.10

هل كانت مفيدة؟

المحلول

يمكنك كتابة

select current_timestamp from tablename  

أين tablename هو طاولة حقيقية في قاعدة البيانات الخاصة بك.

نتيجة الاستعلام ليست سوى الطابع الزمني الحالي.

نصائح أخرى

في اختيار أنا استخدم

 SELECT CURRENT_DATE AS today, CURRENT_TIME AS now FROM (VALUES(0))

@ إجابة alexdown هو صحيح تماما - أقل من 1.8، فأنت بحاجة إلى علاقة صف واحد للقيام بذلك، مثل أوراكل DUAL أو Interbase / Firebird RDB$DATABASE جدول.

عند الانتقال إلى السلسلة 2.0، ستتمكن من استخدام SQL-99 "منشئ القيم" دون الاعتماد على علاقة صف واحد:

sql> VALUES (current_timestamp);
2010-04-22 15:22:40.997

إذا كنت بحاجة إلى إعادة تسمية العمود من الإعدادات الافتراضية الخاصة بالمورد التي تختار القيم، فيمكنك دائما توظيف محدد: SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)

يمكنك استخدام

CALL current_timestamp

لاسترداد الطابع الزمني الحالي. وفقا لمناقشة حول القائمة البريدية HSQL، فهذا هو أكثر كفاءة بكثير من القيام دمية اختر من INFORMATION_SCHEMA.SYSTEM_TABLES.

مع HSQLDB 2.1 وبعد ذلك لديك كل الخيارات.

مع خاصية الاتصال Hsqldb.syntax_ora، hsqldb.syntax_pgs، hsqldb.syntax_mss أو hsqldb.syntax_mys = صحيح يمكنك استخدام النماذج المدعومة من قبل قواعد بيانات أخرى. ما يعادل SQL هو SET DATABASE SQL SYNTAX ORA TRUE, وتشبه لهجات أخرى.

النموذج الأصلي، SQLStandard، يدعمه HSQLDB في جميع الأوضاع هو:

VALUES (CURRENT_TIMESTAMP)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top