如何把SQL datetime转换成varchar

有个字段是varchar类型如:1980-01-01另一个表的字段是datetime类型如:1980-01-0100.00.00,我只要提取前面的1980-01等于后面字... 有个字段是varchar类型如:1980-01-01 另一个表的字段是datetime类型如:1980-01-01 00.00.00,我只要提取前面的1980-01等于后面字段的1980-01,应如何操作 展开
 我来答
hy1397471
推荐于2017-09-13 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

使用convert函数,参数格式 CONVERT(VARCHAR(10),GETDATE(),110)

第二个参数为字段名称,最后一个参数为指定转换格式


例:  SELECT CONVERT(VARCHAR(10),GETDATE(),110)

检索结果为:11-10-2015

ytu_math
2010-07-23 · TA获得超过1558个赞
知道小有建树答主
回答量:784
采纳率:100%
帮助的人:798万
展开全部
使用函数convert
convert(data-type,字段变量,style)

SELECT CONVERT(varchar(30),日期字段,121)

即可将日期型字段中的数据转换为以下“1980-01-01 00:00:00.000”形式的字符串

如果只取年月日,则用 CONVERT(varchar(10),日期字段,121)即可。

回到问题上,如果两个字段,varchar类型字段名称为 fieldchar ,datetime类型字段名称为fielddate, 且在同一个数据表中table,

检索两个字段日期相同的纪录,其 sql 为:

select * from table where fieldchar=convert(char(10),fielddate,121)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
公羊乃2P
推荐于2017-10-06 · TA获得超过297个赞
知道小有建树答主
回答量:230
采纳率:0%
帮助的人:249万
展开全部
比如:SELECT CONVERT(varchar(7),'1989-01-01 00:00')
那么返回的值就是1989-01了

你在写SQL语句的可以参照如下模型:
SELECT CONVERT(VARCHAR(7),字段名) AS 日期
FROM 表

PS:VARCHAR(7)代表长度为7,因为XXXX-XX的长度为7
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友91ba00b338d
2020-04-30 · TA获得超过4639个赞
知道大有可为答主
回答量:3304
采纳率:24%
帮助的人:430万
展开全部
你想太多了,sql语句没这功能吧。
你可以在你的程序中,取出某个varchar字段的值,然后用Convert.ToDateTime转为datetime格式的,在存入datetime字段中去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chanhuilewo
2010-07-23 · TA获得超过214个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:196万
展开全部
第二个表

select left(varchar(字段),7)=‘1980-01’

第一个表
substr(字段,1,7)=‘1980-01’
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式