在数据库中有个字段为ReturnDate,为datetime类型,该列有个系统给的默认值“1900-1-1”,我想在查出来的时候,不显示这个默认值,如果ReturnDate为默认值的时候,查询结果中此列的值为空字符串,请问,我要如何在语句中实现呢?附上查询语句:
select ID, OrderID, LastName, FirstName, CardholderSinceDate, AddressStreet1, Mobilephone, City, StateOrProvince, PostalCode, CountryCode, CustomerID, LoyaltyCardNumber, GoldCardnumber, GoldCardPIN, Email, StoreNumber, EMSFirstName, EMSLastName, DataType, IsError, CreateDate, ImportUser, Batch, ShipDate, ExpressTrackingCode, UpdateDate, UpdateUser,
ReturnReason, ReturnDate, TID, IsHandle, DataSource, IsUpdateBOH
from GoldCardReplacementData
where LoyaltyCardNumber='6010581952359804'
------最佳解决方案--------------------
select ID, OrderID, LastName, FirstName, CardholderSinceDate, AddressStreet1, Mobilephone, City, StateOrProvince, PostalCode, CountryCode, CustomerID, LoyaltyCardNumber, GoldCardnumber, GoldCardPIN, Email, StoreNumber, EMSFirstName, EMSLastName, DataType, IsError, CreateDate, ImportUser, Batch, ShipDate, ExpressTrackingCode, UpdateDate, UpdateUser, ReturnReason, case when convert(varchar(10),ReturnDate,23)='1900-1-1' then '' else convert(varchar(10),ReturnDate,23) end ReturnDate, TID, IsHandle, DataSource, IsUpdateBOHfrom GoldCardReplacementDatawhere LoyaltyCardNumber='6010581952359804'
------其他解决方案--------------------
select ReturnDate=CASE WHEN CONVERT(DATETIME, ReturnDate) = '1900-1-1' THEN '' ELSE ReturnDate END from GoldCardReplacementData WHERE LoyaltyCardNumber = '6010581952359804'
------其他解决方案--------------------
SELECT ID ,
OrderID ,
LastName ,
FirstName ,
CardholderSinceDate ,
AddressStreet1 ,
Mobilephone ,
City ,
StateOrProvince ,
PostalCode ,
CountryCode ,
CustomerID ,
LoyaltyCardNumber ,
GoldCardnumber ,
GoldCardPIN ,
Email ,
StoreNumber ,
EMSFirstName ,
EMSLastName ,
DataType ,
IsError ,
CreateDate ,
ImportUser ,
Batch ,
ShipDate ,