0

これは私の質問です

SELECT * 
FROM tbl_djr 
WHERE 1=1 
    AND djr_date_of_work >='12/31/2012'  
    AND djr_date_of_work<='01/06/2013' 
ORDER BY djr_id 

日付形式=m/ d / Y

これが私のテーブルです

djr_date_of_work    djr_client_name       
01/03/2013              Maitland CC     
01/07/2013              kokil CC 
01/01/2013              Maitland CC 
01/04/2013              Maitland CC 
4

3 に答える 3

2
SELECT * 
 FROM tbl_djr 
 WHERE 1=1 
  AND djr_date_of_work >='12/31/2012'  
  AND djr_date_of_work<='01/06/2013' 
ORDER BY djr_id 

上記のクエリは、を使用し、条件がを意味するため、機能しません。

同じ条件で、djr_date_of_work> ='12/31/2012'とdjr_date_of_work<='01/06/2013'の両方を満たす必要があります

以下のクエリを試してください

 SELECT * 
 FROM tbl_djr 
 WHERE 1=1 
  AND djr_date_of_Work between '12/31/2012'   and '01/06/2013' 
ORDER BY djr_id  

djr_date_of_Workが日付列の場合は、以下を試してください

 SELECT * 
 FROM tbl_djr 
 WHERE 1=1 
  AND djr_date_of_Work between TO_DATE('12/31/2012','DD/MM/YYYY') and TO_DATE('01/06/2013','DD/MM/YYYY') 
ORDER BY djr_id  
于 2013-01-07T12:37:49.170 に答える
1

SQLフィドル

MS SQL Server 2012スキーマのセットアップ

CREATE TABLE tbl_djr  
    (djr_id int,[djr_date_of_work] datetime, [djr_client_name] varchar(11))
;

INSERT INTO tbl_djr  
    ([djr_id],[djr_date_of_work], [djr_client_name])
VALUES
    (1,'01/03/2013', 'Maitland CC'),
    (2,'01/07/2013', 'kokil CC'),
    (3,'01/01/2013', 'Maitland CC'),
    (4,'01/04/2013', 'Maitland CC')
;

クエリ1

SELECT djr_id,convert(varchar(10), djr_date_of_work, 101),djr_client_name
FROM tbl_djr
WHERE djr_date_of_work BETWEEN '12/31/2012'
    AND '01/06/2013'
ORDER BY djr_id

結果

| DJR_ID |   COLUMN_1 | DJR_CLIENT_NAME |
-----------------------------------------
|      1 | 01/03/2013 |     Maitland CC |
|      3 | 01/01/2013 |     Maitland CC |
|      4 | 01/04/2013 |     Maitland CC |
于 2013-01-07T13:14:14.347 に答える
0

例外/根本的な問題がなければ、これを診断することは困難ですが、コメントで誰かが指摘したように、djr_id列がないため、クエリを実行できません。さらに声明:

where 1=1

それは常に真と評価されるので役に立たない。

必要なのは、次のようにスキーマを変更することです。

alter table tbl_djr add column djr_id as number

構文はデータベースによって異なりますが、擬似コードを使用して開始できます。最終的なクエリは次のようになります。

select * from tbl_djr where djr_date_of_Work between '12/31/2012'   
and '01/06/2013' order by djr_id

スタイルのポイントとして、この名前は、テーブルで
tbl_djrあることがわかっているため、情報を提供しません。djrさらに、すべてのテーブル名は、次のように複数形であると想定されています。djrs

于 2013-01-07T12:12:47.500 に答える