使用convert函数,参数格式 CONVERT(VARCHAR(10),GETDATE(),110)
第二个参数为字段名称,最后一个参数为指定转换格式
例: SELECT CONVERT(VARCHAR(10),GETDATE(),110)
检索结果为:11-10-2015
使用函数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)
比如: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
你想太多了,sql语句没这功能吧。
你可以在你的程序中,取出某个varchar字段的值,然后用Convert.ToDateTime转为datetime格式的,在存入datetime字段中去
第二个表
select left(varchar(字段),7)=‘1980-01’
第一个表
substr(字段,1,7)=‘1980-01’