弱弱地问一下,datetime字段,如何写insert的sql语句?

zyx040404 2011-04-08 04:15:24
我创建了一个表,里面有一个datetime字段
打开表,可以直接加一条记录,sql 2005显示的是2011-04-08 0:00:00
现在想用程序插入一条记录,请问,如果写insert的sql语句?datetime字段的值怎么写?
能不能给一个实际的列子,谢谢
...全文
7326 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
快溜 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 zyx040404 的回复:]
引用 16 楼 ssp2009 的回复:
引用 15 楼 zyx040404 的回复:
引用 12 楼 ssp2009 的回复:
引用 9 楼 zyx040404 的回复:
另外,如果是字符串,能不能写成'04-08-2010'?按照外国的日期格式写
可以

那可以写成'04-08-10'吗?年份是10,两位的?
这样转换的日期是错误的,估计会转为2004年,可能

那么可以写……
[/Quote]'08-04-2010'这些法,数据库会认识是8月4号,貌似没有那个国家4月8号是这么写的吧,datetime包含了大部分主流的日期写法,你硬要也这样也没办法。
zyx040404 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ssp2009 的回复:]
引用 15 楼 zyx040404 的回复:
引用 12 楼 ssp2009 的回复:
引用 9 楼 zyx040404 的回复:
另外,如果是字符串,能不能写成'04-08-2010'?按照外国的日期格式写
可以

那可以写成'04-08-10'吗?年份是10,两位的?
这样转换的日期是错误的,估计会转为2004年,可能
[/Quote]
那么可以写成'08-04-2010'吗?国外的月份和日期的位置不一样,SQL Server如何分辨哪个是月,哪个是日?
快溜 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zyx040404 的回复:]
引用 12 楼 ssp2009 的回复:
引用 9 楼 zyx040404 的回复:
另外,如果是字符串,能不能写成'04-08-2010'?按照外国的日期格式写
可以

那可以写成'04-08-10'吗?年份是10,两位的?
[/Quote]这样转换的日期是错误的,估计会转为2004年,可能
zyx040404 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ssp2009 的回复:]
引用 9 楼 zyx040404 的回复:
另外,如果是字符串,能不能写成'04-08-2010'?按照外国的日期格式写
可以
[/Quote]
那可以写成'04-08-10'吗?年份是10,两位的?
快溜 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xuam 的回复:]
可以隐性转换吧!

引用 8 楼 zyx040404 的回复:
引用 6 楼 ssp2009 的回复:
引用 4 楼 zyx040404 的回复:
必须要这样写吗,有其他的方法吗?
datetime类型其实在VC中是double型,能写成double型的数据吗?
需要double转换为字符tostring,并且能够转换为时间的,否则转换出错。

SQL Server是不是必须要写……
[/Quote]double的优先级高于datetime,datetime的优先级高于字符,所以可以输入字符,数据库会隐式转换为datetime类型,但是不能将double隐式转换为datetime
Shawn 2011-04-08
  • 打赏
  • 举报
回复
--看看吧^^
CREATE TABLE #temp
(
test datetime
)
go
--SQL:
INSERT #temp
SELECT 1.1 UNION ALL
SELECT 1
GO
--SQL:
INSERT #temp
SELECT '2011-1-1' UNION ALL
SELECT GETDATE()
GO

SELECT * FROM #temp
/*
1900-01-02 02:24:00.000
1900-01-02 00:00:00.000
2011-01-01 00:00:00.000
2011-04-08 01:29:47.673
*/
快溜 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zyx040404 的回复:]
另外,如果是字符串,能不能写成'04-08-2010'?按照外国的日期格式写
[/Quote]可以
xuam 2011-04-08
  • 打赏
  • 举报
回复
可以隐性转换吧!
[Quote=引用 8 楼 zyx040404 的回复:]
引用 6 楼 ssp2009 的回复:
引用 4 楼 zyx040404 的回复:
必须要这样写吗,有其他的方法吗?
datetime类型其实在VC中是double型,能写成double型的数据吗?
需要double转换为字符tostring,并且能够转换为时间的,否则转换出错。

SQL Server是不是必须要写出字符串的形式?写成double会出错?如果是这样,SQL serve……
[/Quote]
kevin_long 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ssp2009 的回复:]
引用 4 楼 zyx040404 的回复:
必须要这样写吗,有其他的方法吗?
datetime类型其实在VC中是double型,能写成double型的数据吗?
需要double转换为字符tostring,并且能够转换为时间的,否则转换出错。
[/Quote]

正解!
zyx040404 2011-04-08
  • 打赏
  • 举报
回复
另外,如果是字符串,能不能写成'04-08-2010'?按照外国的日期格式写
zyx040404 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ssp2009 的回复:]
引用 4 楼 zyx040404 的回复:
必须要这样写吗,有其他的方法吗?
datetime类型其实在VC中是double型,能写成double型的数据吗?
需要double转换为字符tostring,并且能够转换为时间的,否则转换出错。
[/Quote]
SQL Server是不是必须要写出字符串的形式?写成double会出错?如果是这样,SQL server的定义感觉有点点怪啊,datetime明明是double
Mr_Nice 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ssp2009 的回复:]

可插入任何能转换为时间格式的字符串
'2011-04-08 0:00:00'
'2011-04-08'
'20110408'
[/Quote]

快溜 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zyx040404 的回复:]
必须要这样写吗,有其他的方法吗?
datetime类型其实在VC中是double型,能写成double型的数据吗?
[/Quote]需要double转换为字符tostring,并且能够转换为时间的,否则转换出错。
快溜 2011-04-08
  • 打赏
  • 举报
回复
可插入任何能转换为时间格式的字符串
'2011-04-08 0:00:00'
'2011-04-08'
'20110408'
zyx040404 2011-04-08
  • 打赏
  • 举报
回复
必须要这样写吗,有其他的方法吗?
datetime类型其实在VC中是double型,能写成double型的数据吗?
starsuxin 2011-04-08
  • 打赏
  • 举报
回复
insert into 表名 列名 values ('2011-01-08')
luofenghen 2011-04-08
  • 打赏
  • 举报
回复
insert into table (id,time) values (1,'2011-04-08 00:00:00')
luofenghen 2011-04-08
  • 打赏
  • 举报
回复
'2011-04-08 0:00:00'

'2011-04-08'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧