2

エイリアスでアクセス関数を呼び出そうとしています。しかし、それは不可能です。それはリテラルとして受け取ります。今日の日付をエイリアスに入れる方法はありますか? AS Date() は明らかに機能しません。

ありがとう

エクスポートされたスプレッドシートには、列名として今日の日付+「配達」、つまり 6/12DeliveryDate が必要です。

4

5 に答える 5

1

「AS」キーワードは、特定の列に名前を付けるために存在します。例えば:

SELECT Date() As Today

というラベルの付いた列に現在の日付を返すことを意味しますToday

SELECT '2013-06-12' as Date()

意味がありません...今日の日付で列に名前を付けようとしている場合を除き、同様に聞こえません。これを達成するために考えられる唯一の方法は、今日の日付を列名として渡すある種の動的SQLを使用することです。クエリは次のようになります。

SELECT 'asdf' as [2013-06-12]

MS Accessでそれを構築する方法が完全にはわかりません。SQL サーバーでは、次のようになります。

declare @dateName varchar(20) 
declare @sql varchar(1000)
set @dateName = convert(varchar(20), getdate(), 105)

set @sql = 'SELECT Col1 as [' + @dateName + ']'

exec(@sql)
于 2013-06-12T17:06:17.670 に答える
1

あなたはこれを後ろ向きに考えているだけだと思います。日付の出力にエイリアスを付けないのはなぜですか? メリットが見当たらない...おそらくそれが許可されていない理由です

Date() AS Today
于 2013-06-12T17:01:17.453 に答える
0

関数を使用して列のエイリアス (別名、置換列名) を作成することはできません。エイリアスは、クエリで「ハードコード」する必要があります。

とにかく、なぜ列に現在の日付が必要なのですか? クエリのデータの消費者は、常に変化する列名に対処するのに苦労します。あなたはそれを何にもバインドすることができなくなります。レポートとフォームは機能しません。代わりに、列名を のようTodayValueにしてから、プレゼンテーション レイヤーで今日の日付をラベルとして表示します (フォームまたはレポートでは、テキスト ボックスを使用する必要がありますが、ラベルのようにスタイルを設定できます)。

于 2013-06-12T17:13:03.853 に答える
0

関数を呼び出してテキストを追加する動的クエリを使用して、列のエイリアスを追加する必要があります。date()

于 2013-06-12T18:03:46.767 に答える