كيفية القيام "حدد current_timestamp" في hsqldb؟
-
05-09-2019 - |
سؤال
وحي:
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)