2015-02-23 22 views
0

在我的数据库DOB以dd/mm/yyyy格式保存。我想将DOB日期格式更改为MM/dd/yyyy。我怎样才能做到这一点?如何在sql server中将日期格式从dd/MM/yyyy格式更新为MM/dd/yyyy?

+0

你有什么数据类型? 'DateTime',还是真的是这种格式的'varchar'? – Mureinik 2015-02-23 07:13:55

+4

数据库中字段的类型是什么?它应该是'DATE',这意味着它不是以任何文本格式存储的。您应该区分何时需要文字和何时需要真实价值。理想情况下,您只需在绝对需要时使用文本表示法,例如当你将它们展示给客户时。 – 2015-02-23 07:14:13

+1

这是'dd/mm/yyyy'错字是因为'mm'是几分钟吗? – 2015-02-23 07:16:56

回答

2

首先我想知道哪些数据类型,使用的是用于保存日期值。没有任何东西提供给你的代码没有示例代码,表格细节没有。反正 我想你“出生日期”字段的数据类型为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 

//更改使用格式串()

select * FROM checktable1 
    select dob,substring(dob,4,3)+substring(dob, 1, 3)+substring(dob, 7, 4) from checktable1 

它会给你导致2010年5月21日(毫米/日/年)格式

1

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] 

对于文档的其他数据库搜索日期和时间函数

0

如果你的数据类型为DateTime则无需转换吧,以后你可以把它的格式,只要你想,但如果你正在使用varcharnvarchar 那么你可以使用CONVERT()如下

SELECT convert(datetime, '23/10/2016', 103) 

结果:2016年10月23日00:00:00.000

如果只是想在日期CONVER然后

SELECT convert(date, '23/10/2016', 103) 

结果:2016年10月23日

更多的信息和其他格式

http://www.sqlusa.com/bestpractices/datetimeconversion/

,如果你只是想将字符串转换为刺痛,然后

SELECT CONVERT(varchar,'23/10/2016',101) 

结果:2016年10月23日