将SQL查询出的日期更改格式

SQL在插入新表的时候表中有个datetime字段,显示精确到毫秒,但我不想要那个毫秒,到秒就够了,如何对表进行更新... SQL在插入新表的时候表中有个datetime字段,显示精确到毫秒,但我不想要那个毫秒,到秒就够了,如何对表进行更新 展开
 我来答
百度网友faadf46
高粉答主

2019-07-22 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:76.6万
展开全部

1、点击“开始”——“Microsoft SQL Server 2005”——“Microsoft SQL Server Management Studio”。

2、在打开的“连接到服务器”界面,输入服务器名称、数据库登录名和密码等信息。

3、点击“连接”,连接到SQL SERVER数据库。

4、使用Convert函数可以将字符串转换为日期类型,从而存储在日期时间类型的字段中。点击“新建查询”,新建一个SQL文本。

5、在SQL文本中,输入SQL 语句,如图所示。点击“执行”,查看运行效果。

6、点击“执行”,查看运行效果。

freechan10
2019-12-03 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.9万
展开全部

1、创建测试表,含datetime类型的字段;

create table test_datetime(id int,dt datetime(2));

2、插入测试数据;

insert into test_datetime values(1,'2019-03-05 01:53:55.63');

insert into test_datetime values(2,'2019-03-05 01:42:32.22');

insert into test_datetime values(3,'2019-03-05 01:12:21.11');

3、查询表中记录,可以发现是精确到毫秒;

select * from test_datetime t;

4、编写sql,将datetime字段,精确到秒;

select t.*, FROM_UNIXTIME(floor(unix_timestamp(dt))) b from test_datetime t;

可以发现新字段,已精确到秒。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ERP小V
推荐于2018-04-11 · TA获得超过1257个赞
知道小有建树答主
回答量:1021
采纳率:82%
帮助的人:289万
展开全部
下边是sql 中关于 日期字段转换格式 大全,希望对你有帮助。
SELECT CONVERT(varchar(10),CONVERT(datetime,employee_birthday,111),111)
FROM employee

其它格式转换的范例如下:
--YYYY/MM/DD
Select Convert(varchar(10),Getdate(),111)
--YYYYMMDD
Select Convert(varchar(10),Getdate(),112)
--HH:MM:SS
Select Convert(varchar(8),Getdate(),108)
--HH:MM:SS:mmm
Select Convert(varchar(12),Getdate(),114)

---------------------------------------------------------------------------------
如何用sql语言只获得数据库当前日期,且格式为"yyyy-mm-dd"?
select convert(char(10),getdate(),120)

---------------------------------------------------------------------------------

--字符转换为日期时,Style的使用

--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',101)
--结果:2003-11-01 00:00:00.000

--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',103)
--结果:2003-01-11 00:00:00.000

/*== 日期转换为字符串 ==*/
DECLARE @dt datetime
SET @dt='2003-1-11'

--1. Style=101时,表示将日期转换为:mm/dd/yyyy 格式
SELECT CONVERT(varchar,@dt,101)
--结果:01/11/2003

--2. Style=103时,表示将日期转换为:dd/mm/yyyy 格式
SELECT CONVERT(varchar,@dt,103)
--结果:11/01/2003

/*== 这是很多人经常犯的错误,对非日期型转换使用日期的style样式 ==*/
SELECT CONVERT(varchar,'2003-1-11',101)
--结果:2003-1-11

--1.
/*--说明
SET DATEFORMAT设置对使用CONVERT把字符型日期转换为日期的处理也具有影响
但不影响明确指定了style的CONVERT处理。
--*/

--示例 ,在下面的示例中,第一个CONVERT转换未指定style,转换的结果受SET DATAFORMAT的影响,第二个CONVERT转换指定了style,转换结果受style的影响。
--设置输入日期顺序为 日/月/年
SET DATEFORMAT DMY

--不指定Style参数的CONVERT转换将受到SET DATEFORMAT的影响
SELECT CONVERT(datetime,'2-1-2005')
--结果: 2005-01-02 00:00:00.000

--指定Style参数的CONVERT转换不受SET DATEFORMAT的影响
SELECT CONVERT(datetime,'2-1-2005',101)
--结果: 2005-02-01 00:00:00.000
GO

--2.
/*--说明

如果输入的日期包含了世纪部分,则对日期进行解释处理时
年份的解释不受SET DATEFORMAT设置的影响。
--*/

--示例,在下面的代码中,同样的SET DATEFORMAT设置,输入日期的世纪部分与不输入日期的世纪部分,解释的日期结果不同。
DECLARE @dt datetime

--设置SET DATEFORMAT为:月日年
SET DATEFORMAT MDY

--输入的日期中指定世纪部分
SET @dt='01-2002-03'
SELECT @dt
--结果: 2002-01-03 00:00:00.000

--输入的日期中不指定世纪部分
SET @dt='01-02-03'
SELECT @dt
--结果: 2003-01-02 00:00:00.000
GO

--3.
/*--说明

如果输入的日期不包含日期分隔符,那么SQL Server在对日期进行解释时
将忽略SET DATEFORMAT的设置。
--*/

--示例,在下面的代码中,不包含日期分隔符的字符日期,在不同的SET DATEFORMAT设置下,其解释的结果是一样的。
DECLARE @dt datetime

--设置SET DATEFORMAT为:月日年
SET DATEFORMAT MDY
SET @dt='010203'
SELECT @dt
--结果: 2001-02-03 00:00:00.000

--设置SET DATEFORMAT为:日月年
SET DATEFORMAT DMY
SET @dt='010203'
SELECT @dt
--结果: 2001-02-03 00:00:00.000

--输入的日期中包含日期分隔符
SET @dt='01-02-03'
SELECT @dt
--结果: 2003-02-01 00:00:00.000

--以下示例演示了在不同的语言环境(SET LANGUAGE)下,DATENAME与CONVERT函数的不同结果。
USE master

--设置会话的语言环境为: English
SET LANGUAGE N'English'
SELECT
DATENAME(Month,GETDATE()) AS [Month],
DATENAME(Weekday,GETDATE()) AS [Weekday],
CONVERT(varchar,GETDATE(),109) AS [CONVERT]
/*--结果:
Month Weekday CONVERT
------------- -------------- -------------------------------
March Tuesday Mar 15 2005 8:59PM
--*/

--设置会话的语言环境为: 简体中文
SET LANGUAGE N'简体中文'
SELECT
DATENAME(Month,GETDATE()) AS [Month],
DATENAME(Weekday,GETDATE()) AS [Weekday],
CONVERT(varchar,GETDATE(),109) AS [CONVERT]
/*--结果
Month Weekday CONVERT
------------- --------------- -----------------------------------------
05 星期四 05 19 2005 2:49:20:607PM
--*/
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhiqing999
2011-03-28 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3363万
展开全部
1> select Convert(varchar(30), GETDATE(), 120)
2> go

------------------------------
2011-03-28 13:17:41

(1 行受影响)

这个效果?
追问
是的,但我要查询的表里面全都是精确到毫秒的,我不想要毫秒,想把表里的毫秒全部屏蔽掉,就精确到秒就行,如何更新表啊,请指教啊
追答
1> create table t123 ( test datetime );
2> go
1> insert into t123 VALUES ( GETDATE() );
2> go

(1 行受影响)
1> select * from t123;
2> go
test
-----------------------
2011-03-28 17:22:00.627

(1 行受影响)
1> UPDATE t123
2> SET test = Convert(datetime, Convert(varchar(30), test, 120), 120);
3> go

(1 行受影响)
1> select * from t123;
2> go
test
-----------------------
2011-03-28 17:22:00.000

(1 行受影响)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传说中的鹰王
2011-03-28 · TA获得超过1053个赞
知道小有建树答主
回答量:923
采纳率:87%
帮助的人:551万
展开全部
update [table] set [字段]=Convert(varchar(30), [字段], 120) where 1=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式