社区
MS-SQL Server
帖子详情
字符类型到日期型转换
10975037
2006-02-24 11:09:19
我有两个表 a ,b a表中有一个日期的字段yhr 长度是8 , b 表中有一个字符型字段 ywrq 长度是8 我想把b 表中字符型字段 ywrq , 选择出来, 插入a表中日期的字段yhr .怎么写
insert into a (yhr) select cast(ywrq as datetime ) from b
出错 。
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
那么我的cast 怎么写
...全文
245
16
打赏
收藏
字符类型到日期型转换
我有两个表 a ,b a表中有一个日期的字段yhr 长度是8 , b 表中有一个字符型字段 ywrq 长度是8 我想把b 表中字符型字段 ywrq , 选择出来, 插入a表中日期的字段yhr .怎么写 insert into a (yhr) select cast(ywrq as datetime ) from b 出错 。 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。 那么我的cast 怎么写
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
-狙击手-
2006-02-24
打赏
举报
回复
出错 。
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
那么我的cast 怎么写
-----
本身语句没错,可能你的B中的这个字段有非法数据造成的,请检查B的这个字段
10975037
2006-02-24
打赏
举报
回复
a表 (yhr)字段 的格式 2005-01-01 类型datetime ,b表(ywrq)的数据类型char (8) 格式20050101
zhouhaihe
2006-02-24
打赏
举报
回复
你表里的值有:2006224这样的就不行了
lxzm1001
2006-02-24
打赏
举报
回复
insert into a(yhr) select convert(char(8),ywrq,datetime) from b
hisi
2006-02-24
打赏
举报
回复
你的字符串时间肯定有不在此时间段的。
可以用字符串比较判断一下,如果不在这个段内的就处理掉。
lsqkeke
2006-02-24
打赏
举报
回复
最好楼主帖出a表 (yhr)字段和b表(ywrq)的数据格式来
那样就好针对性的写SQL语句
liujx_1999
2006-02-24
打赏
举报
回复
insert into a (yhr) select convert(datetime ,ywrq ) from b
$扫地僧$
2006-02-24
打赏
举报
回复
declare @ywrq varchar(10)
set @ywrq='20050101'
set @ywrq=left(@ywrq,4) + '-' + SUBSTRING(@ywrq,5,2) +'-' + right(@ywrq,2)
select cast(@ywrq as datetime)
hisi
2006-02-24
打赏
举报
回复
使用 datetime 数据类型日期必须是 1753 年 1 月 1 日至 9999 年 12 月 31 日的日期
zhaoanle
2006-02-24
打赏
举报
回复
列一个 ywrq 值看看
lsqkeke
2006-02-24
打赏
举报
回复
a表中有一个日期的字段yhr 长度是8
-----------------
字段类型是 varchar(8) ???
insert into a (yhr)
select replace(convert(varchar(10),ywrq,120),'-','') from b
关键还要看你字段ywrq能否直接转化为时间类型(datetime)
$扫地僧$
2006-02-24
打赏
举报
回复
declare @ywrq varchar(10)
set @ywrq='2006-1-1'
select cast(@ywrq as datetime)
lxzm1001
2006-02-24
打赏
举报
回复
用convert()
10975037
2006-02-24
打赏
举报
回复
字符型字段里的数据写法是20050101
lzhs
2006-02-24
打赏
举报
回复
insert into a(yhr)
select
cast(left(ywrq,4) + '-' + SUBSTRING(ywrq,5,2) +'-' + right(ywrq,2) as datetime ) from b
10975037
2006-02-24
打赏
举报
回复
我的b 表中的数据都是20050101 这个样式写的。 怎样才能把20050101的类型转换成datetime并且格式时2005-01-01
用户没有输入(前台传值为空时)的数据存储原则
用户没有输入(前台传值为空时)的数据存储原则 已知: 1、数值
型
数据可能会涉及到数学运算。 2、数值
类
型
和
日期
时间
类
型
,当存储为空值‘’时,sqlserver会分别按默认值存储(0、1900-01-01 00:00:00.000) 结论:暂时,先将前台传值为null或空值时,统一处理成空值‘’传输到后台并保存。 仅插入一个字段,其他字段为null。
字符
类
型
插入空值,存储的就是空值;其他未插入数...
PL/SQL中的数据
类
型
隐式
转换
规则
原文来自 Techfox IT技术论坛1) During INSERT and UPDATE operations, Oracle converts the value to the datatype of the affected column.对于INSERT和UPDATE操作,oracle会把插入值或者更新值隐式
转换
为字段的数据
类
型
。如假如id列的数据
类
型
为numbe...
sql数据
类
型
数据
类
型
数值
类
型
整数
型
类
型
名称 存储空间(字节) 范围 TINYINT 1 0~255 SMALLINT 2 -32768 ~ +32767 INTEGER(最常见int) 4 -2,147,483,648 ~ +2,147,483,647 BINARY_INTEGER 4 -2,147,483,648 ~ +2,147,483,647 BIGINT 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 浮
oracle,
字符
类
型
与
日期
类
型
的
转换
oracle,
字符
类
型
与date,timestamp的转化1,select to_timestamp(20081001,yyyymmdd) from dual2,select to_date(20081001,yyyymmdd) from dual
MySQL
字符
串
日期
格式
转换
通过和函数,MySQL允许你在
字符
串和
日期
类
型
之间
转换
,并在不同的
日期
格式之间自由
转换
。这在进行数据清洗、处理和报表生成时非常有用。MySQL常见时间格式化:(与
字符
串中的对应使用)%Y: 年份,四位数字%m:月份,两位数字%d:
日期
,两位数字%H:小时(24小时制),两位数字%i: 分钟,两位数字%s: 秒,两位数字扩展:MySQL中如果想将
日期
转换
成
字符
串可以使用。
MS-SQL Server
34,876
社区成员
254,635
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章