请问如何把日期和时间两个字段拼接在一起,并转换为时间日期格式

david-sui 2015-01-19 10:35:06
sql语句的where条件是筛选日期时间,但是日期列和时间列在表中是两个字段。请问如果进行拼接?

select * from a where 时间日期>(时间????+日期????)
...全文
4116 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
david-sui 2015-01-21
  • 打赏
  • 举报
回复
在查询语句中无法加入“set date ansi”。最后通过字符串转换,CTOT(SUBSTR(购电时间,6,5)+'.'+left(购电时间,4)+' '+right(购电时间,9)) ,将字符串2015.01.11 14:22:36转换为01.11.2015 14:22:36,用ctot才能正常转换为日期时间型。 不过还是万分感谢!
都市夜猫 2015-01-20
  • 打赏
  • 举报
回复
在转换之前先执行 set date to ansi
david-sui 2015-01-20
  • 打赏
  • 举报
回复
感谢回复! 虽然数据库存储日期时间的那一列存储的是类似“2015.01.13 14:22:3”,我看了下数据结构是text。所以我想用sql语句取出来的时候,转换为日期时间类型。 但是用CTOT(datetime),转换后的结果全是1899-12-30 0:00:00 。 我测试如果把数据改成"11/24/00 14:22:36 "便可以转换成正确的时间。 请问如何才能把现有数据库里的数据转换为正常的日期型?
lygcw9602 2015-01-20
  • 打赏
  • 举报
回复
set date ansi
david-sui 2015-01-20
  • 打赏
  • 举报
回复
我是在程序中执行sql语句,而 set date to ansi 这个命令是不是不能被当做sql语句执行啊。 在下列查询语句中加入 set date to ansi是报错的 odCommand.CommandText = "set date to ansi;select CTOT(购电时间) as ddate from " + mdbPath + " where CTOT(购电时间)>" + date+ "";
都市夜猫 2015-01-19
  • 打赏
  • 举报
回复
既然数据表中存储为两列,查询也用两个条件 and 操作即可,不用拼接 tQuery = {^2015/1/1 10:11:12} text to cc textm noshow declear @date char(8), @time char(8) set @date = '<<dtos(tQuery)>>' set @time = '<<ttoc(tQuery,2)>>' select * from 表 where 日期 > @date and 时间 > @time endtext sqlexec(hConnect, cc, '查询结果')
都市夜猫 2015-01-19
  • 打赏
  • 举报
回复
引用 2 楼 suixufeng 的回复:
数据库表中有个时间日期字段,如为字符串“2015.01.13 14:22:36”,我用CTOT(2015.01.13 14:22:3)转换为时间类型,结果都为1899-12-30 0:00:00
1. vfp 没有时间型这种数据类型,只有日期型和日期时间型 2. 既然数据库中已是日期时间型,获取到 vfp 端已是 datetime 类型,还要转换什么? 3. CTOT(2015.01.13 14:22:3) 语法本身都是错的,怎么可能得到结果 1899-12-30 0:00:00 ? 至少应该是 CTOT('2015.01.13 14:22:3') 才会得到结果 2015.01.13 14:22:03
david-sui 2015-01-19
  • 打赏
  • 举报
回复
数据库表中有个时间日期字段,如为字符串“2015.01.13 14:22:36”,我用CTOT(2015.01.13 14:22:3)转换为时间类型,结果都为1899-12-30 0:00:00 。请问如何解决?
Date 对象属性constructor 返回对创建此对象的 Date 函数的引用。prototype 使您有能力向对象添加属性和方法。Date 对象方法getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。getFullYear() 从 Date 对象以四位数字返回年份。getHours() 返回 Date 对象的小时 (0 ~ 23)。getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。getMonth() 从 Date 对象返回月份 (0 ~ 11)。getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。getTime() 返回 1970 年 1 月 1 日至今的毫秒数。getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。getYear() 已废弃。 请使用 getFullYear() 方法代替。parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。setFullYear() 设置 Date 对象中的年份(四位数字)。setHours() 设置 Date 对象中的小时 (0 ~ 23)。setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。setMonth() 设置 Date 对象中月份 (0 ~ 11)。setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。setTime() setTime() 方法以毫秒设置 Date 对象。setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。setUTCSeconds() setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。setYear() 已废弃。请使用 setFullYear() 方法代替。toDateString() 把 Date 对象的日期部分转换为字符串。toGMTString() 已废弃。请使用 toUTCString() 方法代替。toISOString() 使用 ISO 标准返回字符串的日期格式。toJSON() 以 JSON 数据格式返回日期字符串。toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。toString() 把 Date 对象转换为字符串。toTimeString() 把 Date 对象的时间部分转换为字符串。toUTCString() 根据世界时,把 Date 对象转换为字符串。UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。valueOf() 返回 Date 对象的原始值。

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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