3

私はSQLクエリを持っています:
SELECT DATEDIFF(deadline,CURDATE()) FROM tasks WHERE 1

結果は次のとおりです。3

3 Days結果を :の代わりに返すにはどうすればよいですか3

次のような C# コードから文字列を手動で追加できることを知っています。

 string result = getSqlresult();
 string result += " Days";

3 Daysしかし、MySQL データベースから直接結果を取得したいと考えています。

理由: 情報を datagridview に直接バインドしているため、結果を変更するには、すべての行を反復処理して更新する必要があります。3 Daysしたがって、パフォーマンスを向上させるには、代わりにデータベースから直接結果を取得する必要があります3

どんな助けでも大歓迎です

4

1 に答える 1

6

を使用Daysした結果に文字列を連結できます。DATEDIFFCONCAT

SELECT CONCAT(DATEDIFF(deadline,CURDATE()), ' Days') 
FROM tasks 
WHERE 1

の古いバージョンを使用している場合は、結果MySQLが得られないように文字列に変換してくださいbolb

SELECT CONCAT(CAST(DATEDIFF(deadline,CURDATE()) AS CHAR(5)), ' Days') 
FROM tasks 
WHERE 1

更新 1

SELECT  CASE 
            WHEN DATEDIFF(deadline,CURDATE()) >= 0
            THEN CONCAT(DATEDIFF(deadline,CURDATE()), ' Days')
            ELSE CONCAT('Expired since ', DATEDIFF(deadline,CURDATE()) * -1, ' Days')
        END
FROM    tasks
于 2013-02-19T13:06:53.633 に答える