--测试数据 if not object_id(N'Tempdb..#T') is null drop table #T Go Create table #T([C_Date] Date) Insert #T select '20190415' Go --测试数据结束 Select CONVERT(NVARCHAR(20),C_Date,112) AS C_Date from #T
USE tempdb GO IF OBJECT_ID('t') IS NOT NULL DROP TABLE t GO CREATE TABLE t( d1 DATE NOT NULL, --插入时到这个列 d2 AS replace(CONVERT(CHAR(10),d1,120),'-','') --查询用这个列 ) GO --插入时到用 d1列 INSERT INTO t(d1) VALUES ('20190415')--查询时用 d2列 SELECT * FROM t /* d1 d2 2019-04-15 20190415 */
其实很简单,用户要求DATE类型字段存储的日期形式为 20190415这样的。这个格式sql不认啊。有办法设置吗?
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([C_Date] Date)
Insert #T
select '20190415'
Go
--测试数据结束
Select CONVERT(NVARCHAR(20),C_Date,112) AS C_Date from #T
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
GO
CREATE TABLE t(
d1 DATE NOT NULL, --插入时到这个列
d2 AS replace(CONVERT(CHAR(10),d1,120),'-','') --查询用这个列
)
GO
--插入时到用 d1列
INSERT INTO t(d1) VALUES ('20190415')--查询时用 d2列
SELECT * FROM t
/*
d1 d2
2019-04-15 20190415
*/