私は以下のようなテーブルを持っています:
Create table EmpDetails
(
ID int primary key,
DOB datetime not null,
Name nvarchar(100) not null,
Salary float not null,
Email nvarchar(50) not null,
IsActive bit not null
)
Insert into EmpDetails VALUES (2134, '1985-09-19 03:37:21.757', 'Jack Sparrow', 75000,'abc@gmail.com', 1)
以下のクエリを使用して列を行に変換しようとすると、エラーが発生し、クエリが失敗しました。
select ID, Attrib, Value
from EmpDetails
cross apply
(
select 'DOB', DOB union all
select 'Name', Name union all
select 'Salary', Salary union all
select 'Email', Email union all
select 'IsActive', IsActive
)empd(Attrib, Value);
編集:以下も試しましたが、同じエラーが発生しました
select ID, Attrib, Value
from EmpDetails
cross apply
(
values
('DOB', DOB),
('Name', Name),
('Salary', Salary),
('Email', Email),
('IsActive', IsActive)
) empd(Attrib, Value);
エラー:
Conversion failed when converting date and/or time from character string.
DOB フィールドを CAST しようとすると、datetime
同じエラーが発生します。
select 'DOB', CAST(DOB as datetime)
どうすればここに進むことができますか? どんな助けでも大歓迎です。