간단한 sql질문이요.

georgek의 이미지

안녕하세요.

지금 sqlplus이용해서 자습을 하고 있는 대학생입니다. 하는중에 너무 답답해서 여기에 한번 여쭤봅니다.ㅜㅜ

먼저 주어진sql파일에 보면 아래와 같은 형식으로 자료들이 들어가 있습니다.

INSERT INTO Orders (OrderID, ClientID, EmployeeID, OrderDate, ShipCountry) VALUES
(10249, 'TOMSP', 6, TO_DATE('1996-07-05 00:00:00','YYYY-MM-DD HH24:MI:SS'), 'Germany');

문제가 'List the IDs of the products shipped to USA in May 1998.' 입니다.

그래서 제가 이런식으로 짜봤는데요.
SQL> select order_product.productid
2 from order_product,orders
3 where orders.orders=order_product.orderid and
4 orders.shipcountry='USA' and
5 orders.orderdate='1998-05-%';

이때 아래와 같이 에러메세지가 나오는데 어떻게 써야할지 찾아도 모르겠어서 여기에 여쭤봅니다.

orders.orderdate='1998-MAY-%'
*
ERROR at line 5:
ORA-01861: literal does not match format string

그리고! 제가 공부하는 책자에 보면

select c.clientid
from clients as c

이런식으로 써서 단축해서? 쓰던데요. 제가 할때는 as 땜에 에러가 나는데 왜그런지 이유를 알 수 있을까요?

아래와같이 하는건 잘 출력됩니다..(에러없이.)
select clientid as c_id
from clients

조언이라도 해주시면 감사하겠습니다!!

chanik의 이미지

[1] Order 테이블의 OrderDate 컬럼은 date 타입으로 보이는데,
orders.orderdate='1998-05-%' 식으로 varchar 컬럼 다루듯 조건을 거셨네요.
(게다가, 만약 OrderDate 컬럼이 varchar 타입이었다고 해도, '%' 나 '_' 같은 와일드카드를 쓸 때는
OrderDate LIKE '1998-05-%' 와 같이 '=' 이 아닌 'LIKE' 연산자를 쓰셔야 합니다)

여러 가지 방법이 있겠지만, 아래와 같이 하실 수 있습니다.

to_char(orders.orderdate, 'YYYY-MM') = '1998-05'

[2] 오라클에서는 컬럼 alias에는 as를 써도 되고 안 써도 됩니다만
테이블 alias에는 as를 허용하지 않는 모양입니다. as를 빼고 하시면 됩니다.
(참고로, PostgreSQL에서는 컬럼/테이블 alias 모두에 AS를 써도 되고 안 써도 되더군요)

SELECT c.clientid
FROM clients c
georgek의 이미지

감사합니다. 빼고하니까 잘되는군요!!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.