4

[答え]

みんな、ありがとう!以下の問題を解決するためのコードは次のとおりです。

SELECT ID
FROM Schedule
WHERE (SUBSTRING(Time, 1, 2) = DATEPART(hh, GETDATE()))

SQL Server CEで最初の2文字を選択するにはどうすればよいですか?

例えば:

+-----+-----------+------------+
+ 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だけを選択するように、実時間に基づいた時間のみを選択したいと思います。どうやってやるの?0808:00:00

4

3 に答える 3

10

SUBSTRINGはCEで利用可能です-http ://msdn.microsoft.com/en-us/library/aa275646( SQL.80 ).aspx

SUBSTRING ( expression , start , length )
于 2012-05-08T01:27:17.297 に答える
2

SQL標準メソッドは、シンタックスダイアグラムで示されます。

<character substring function> ::=
         SUBSTRING <left paren> <character value expression> FROM <start position>
         [ FOR <string length> ] [ USING <char length units> ] <right paren> 

したがって、この例では:

SELECT SUBSTRING(Time FROM 1 FOR 2) FROM AnonymousTable;

一部のDBMS(Oracle、およびOracleをエミュレートするもの)は、代わりにSUBSTR()関数を提供します。

SELECT SUBSTR(Time, 1, 2) FROM AnonymousTable;

11から数えて開始オフセットであり、2は長さです(この例では同じですが、終了オフセットではありません。その他、開始が1の場合)。

特定のDBMSには他の方法があるかもしれません。たとえば、Informixを使用すると、次のように記述できます。

SELECT Time[1,2] FROM AnonymousTable;

ただし、今回は下付き文字が開始位置と停止位置です。

Informixは、これら3つすべてをサポートします。下付き文字表記を使用する他のDBMSを知りません。

于 2012-05-08T01:17:47.657 に答える
1

こういう意味ですか?

SELECT LEFT(Time, 2) From Table
于 2012-05-08T01:16:58.207 に答える