【发布时间】:2012-05-08 01:15:27
【问题描述】:
[回答]
谢谢大家!解决问题的代码如下:
SELECT ID
FROM Schedule
WHERE (SUBSTRING(Time, 1, 2) = DATEPART(hh, GETDATE()))
如何在SQL Server CE中选择前两个字符?
例如:
+-----+-----------+------------+
+ Day + Time + ID +
+-----+-----------+------------+
+ 1 + 08:00:00 + A1 +
+ 1 + 09:00:00 + A2 +
+ 1 + 09:30:00 + A3 +
+ 1 + 10:15:00 + A4 +
+-----+-----------+------------+
Time 列是 nvarchar 类型。
然后,我只想选择ID,只选择基于实时时间的时间,就像只从08:00:00 中选择08 部分一样。我该怎么做?
【问题讨论】:
-
您的时间列不应该是 VARCHAR 类型;它应该是 TIME 类型。
-
什么数据库引擎? MSFT、Oracle、DB2 都为此使用了不同的方法。
-
请记住识别您正在使用的 SQL DBMS 和您的表的名称(如果只是为了使答案都可以使用相同的名称 - 它可以是一个为目的而编造的名称的问题)。
-
答案完全取决于产品(有一个标准,但许多数据库没有实现它)。请指定您使用的 SQL 方言。
标签: sql sql-server-ce