Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 到char,到日期_Sql_Oracle_Oracle11g - Fatal编程技术网

Sql 到char,到日期

Sql 到char,到日期,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,你是如何遵守这一准则的,我只看到2019年的日期?您没有更改为_char SELECT GUEST.GNO, GUEST.GLASTNAME, GUEST.GFIRSTNAME, BOOKING.gNO, BOOKING.GINDATE FROM GUEST, BOOKING WHERE GUEST.GNO = BOOKING.gNO AND BOOKING.GINDATE = TO_CHAR (GINDATE,'DD/MM/YYYY'); 我将您的问题解释为您希望在2019年预订。如果是这

你是如何遵守这一准则的,我只看到2019年的日期?您没有更改为_char

SELECT GUEST.GNO, GUEST.GLASTNAME, GUEST.GFIRSTNAME, BOOKING.gNO, BOOKING.GINDATE 
FROM GUEST, BOOKING
WHERE GUEST.GNO = BOOKING.gNO AND BOOKING.GINDATE = TO_CHAR (GINDATE,'DD/MM/YYYY');

我将您的问题解释为您希望在2019年预订。如果是这样,那么查询应该更像这样:

SELECT g.GNO, g.GLASTNAME, g.GFIRSTNAME, b.gNO, b.GINDATE 
FROM GUEST g JOIN
     BOOKING b
     ON g.GNO = b.gNO 
WHERE b.GINDATE >= DATE '2019-01-01' AND
      b.GINDATE < DATE '2020-01-01';

当然,根据您的数据库可能会有细微的变化。

我不理解这个问题。TO_CHAR将日期转换为字符串。BOOKING.GINDATE=TO_CHAR GINDATE,'DD/MM/YYYY'将日期与字符串进行比较。不要那样做。如果您只寻找2019年,一种方法是在何处_CHARbooking.gindate,'YYYY'='2019'。顺便说一句:您使用的连接语法在1992年变得多余。所以,请不要使用逗号分隔的连接。使用现代ANSI连接,例如从guest.gno=booking.gno上的guest-JOIN-booking。请澄清您的问题,不容易理解您真正的问题?可能会添加一些示例数据和预期的输出。SQL问题应该始终使用您正在使用的MySQL、SQL Server、Oracle、PostgreSQL等DBMS进行标记…。是哪一个?老兄,但是我的英语很低,但是谢谢老兄你有我!!!我试过他,然后我进入了。。我不能用现代的所有款式…这是家庭作业,需要一些规格