1

プログラムのフィールドの日付を取得するクエリがあります。この日付は10年で変更する必要があります。

私が行ったクエリは

SELECT DATEADD(yy, +10, '"+thisfield.value+"')

ここで、'"+thisfield.value+"'はプログラムから来て、のように入力され01-08-2012ます。

クエリの結果はです2022-07-31 00:00:00.000。私が抱えている問題は、必要なのは、他のフィールドにこの結果を自動的に入力できるようにするため2022-08-01の形式であるということです。01-08-2022

SQL Server 2005では、date関数はdatetime関数だけでは機能せず、私はそれを必要としません。

これが明確であることを願っています(初めて何かを投稿するとき)。誰か助けてもらえますか?

4

1 に答える 1

0

結果を切り捨てるか、日付にキャストすることができます

CAST(DATEADD(yy, +10, '"+thisfield.value+"') AS DATE)" 

CONVERT(VARCHAR, DATEADD(yy, +10, '"+thisfield.value+"'), 101)" 

スタイル101を使用したCONVERTは、mm / dd / yyyyの形式であり、これはたまたま必要な形式です。SQL Serverから文字列を返すよりも優れた表示目的で、アプリケーションで必要に応じて結果をフォーマットできることに注意してください。

また、パラメータ化されたクエリやストアドプロシージャを調べる必要があることにも注意してください。

于 2012-08-01T09:08:38.353 に答える