在我的db中,DOB以dd / mm / yyyy格式保存。我想将DOB日期格式更改为MM / dd / yyyy。我怎样才能做到这一点?
首先,我想知道您用于保存日期值的数据类型。您的代码没有提供任何示例代码,表格没有任何内容。无论如何,我认为你的'出生日期'字段数据类型是datetime,那么你可以使用下面的例子
create table checktable(
ID int,
name nvarchar (30),
dob datetime);
示例数据插入表中
insert into checktable(ID,name,dob) values(10,'myname','03/01/2014');
//..........
select * from checktable
//使用CONVERT()它将为您提供所需的输出
SELECT TOP 1 ID, dob,CONVERT(varchar,dob,101) 'mm/dd/yyyy'
FROM checktable
UPDATE
如果您的数据类型是varchar,现在它的格式为mm / dd / yyyy,并且您想将其更改为dd / mm / yyyy格式,那么请使用以下示例它将帮助您
create table checktable1(
ID int,
name nvarchar (30),
dob varchar(20));
//插入样本数据
insert into checktable1(ID,name,dob) values(10,'myname','21/05/2010');
select * from checktable1
//使用substring()更改格式
select * FROM checktable1
select dob,substring(dob,4,3)+substring(dob, 1, 3)+substring(dob, 7, 4) from checktable1
它将以05/21/2010(mm / dd / yyyy)格式给出结果
Microsoft SQL:https://msdn.microsoft.com/en-us/library/ms187928.aspx
CONVERT的语法:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
使用示例:
SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS [MM/DD/YYYY]
对于其他数据库,请在文档中搜索日期和时间函数
CONVERT()函数是一个将一种数据类型的表达式转换为另一种数据类型的通用函数。
CONVERT()函数可用于以不同格式显示日期/时间数据。
如果你的数据类型是DateTime
然后没有必要转换它,以后你可以转换它的格式,但如果你使用varchar
或nvarchar
然后你可以使用CONVERT()
如下
SELECT convert(datetime, '23/10/2016', 103)
结果:2016-10-23 00:00:00.000
如果只是想在日期转换那么
SELECT convert(date, '23/10/2016', 103)
结果:2016-10-23
了解更多信息和其他格式
http://www.sqlusa.com/bestpractices/datetimeconversion/
如果你只想将字符串转换为sting那么
SELECT CONVERT(varchar,'23/10/2016',101)
结果:2016年10月23日
这是以dd / mm / yyyy格式显示所有数据的查询。在下面的查询中键入包含datecolumnname的日期和您的表名代替tablename的列名:
select convert(varchar,datecolumname,103) as datecolumname from tablename