2017-01-04 12 views
0

CAST(GETDATE() AS DATE)NVARCHAR(10)で返されます。 DATETIMEは、列を日付に変更しますが、その中で時間を必要としません。日付だけを含む日付形式の列が必要です。私は何が欠けていますか?キャストAS日付NVARCHAR形式で返す

+4

'キャスト(GETDATE()日付など)'何をやるべきことを返さないと欲しいです。どのように動作していないか説明してください。 –

+1

あなたはなぜそれがVNVARCHAR(10)だと思うか説明してください - どのフロントエンドを使用していますか? – Hogan

+0

私はフロントエンドとしてSQL DBXを使用しています。列の型は列名の下に戻され、NVARCHAR(10)として表示されます。 –

答えて

-1

私はあなたが列のデータ型を変更する必要があると思います。これを試してみてください:

ALTER TABLE [テーブル名] のALTER COLUMN [列名] DATE

+0

彼の質問は、列ではないGETDATE()関数についてです。 – Hogan

+0

私はそれを得るが、彼の質問は明確ではなかった。 CAST(GETDATE()AS DATE)は時間を返さないので、テーブルの列にまだ時間があることを意味していると推測しています。 – DataDad

+0

どの列?どのテーブル?これらのことのどちらも問題に言及されていない。彼は現在の日付を取得し、それをフォーマットする方法を明確に求めています。これはデータベースのテーブルや列とは関係ありません。 – Hogan

0

Date_Issue

だから明らかに、それは日付と値を記憶している、それだけで返された結果に間違ったタイプを示してい。イメージを見ることができれば、他の2か所にDateとして表示されますが、下部にはNVARCHARとして表示されている場所を見ることができます。私はそれがなぜ、おそらくSQL DBXと関係があるのか​​分からない。いずれにせよ、みんなの時間を無駄にしてしまってすみません。私は返された結果に間違った型を表示することを見たことがない。

0

(日などのgetdate())そのキャストを実証するための方法は、データ型にの日付

select 
    cast(getdate() as date) cast_getdate 
into MyTable_x 
; 

select 
    TABLE_NAME, COLUMN_NAME, ORDINAL_POSITION, DATA_TYPE 
from information_schema.columns 
where table_name = 'MyTable_x' 
; 


+------------+--------------+------------------+-----------+ 
| TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | DATA_TYPE | 
+------------+--------------+------------------+-----------+ 
| MyTable_x | cast_getdate |    1 | date  | 
+------------+--------------+------------------+-----------+