I'm trying to list all the users who are above the age of 13 and have downloaded an app in the category "Social"
. With the users date of births in ascending order.
Below I attempted to convert users date of births into an int number and use that to only display users over "13" but to no avail.
My code :
SELECT DISTINCT
CAST(u."Username" AS varchar2(20)) AS "Username",
CAST(u."FirstName" AS varchar2(15)) AS "FirstName",
CAST(u."LastName" AS varchar2(15)) AS "LastName",
TRUNC((sysdate - u."DateOfBirth")/365.25) AS "DateOfBirth"
FROM BR_USER u, BR_APPCATEGORY ap
WHERE ap."CategoryName" = 'Social' AND "DateOfBirth" > '13'
ORDER BY "DateOfBirth" ASC;
The error I receive :
ERROR at line 7:
ORA-01840: input value not long enough for date format
CREATE TABLE "BR_USER"(
"UserId" NUMBER(6,0),
"Username" VARCHAR2(35) CONSTRAINT "BR_USER_USERNAME_NN" NOT NULL ENABLE,
"FirstName" VARCHAR2(30),
"LastName" VARCHAR2(50) CONSTRAINT "BR_USER_LAST_NAME_NN" NOT NULL ENABLE,
"Email" VARCHAR2(100) CONSTRAINT "BR_USER_EMAIL_NN" NOT NULL ENABLE,
"Gender" VARCHAR2(3),
"JoinDate" DATE CONSTRAINT "BR_USER_JOINDATE_NN" NOT NULL ENABLE,
"DateOfBirth" DATE CONSTRAINT "BR_USER_DOB_NN" NOT NULL ENABLE,
"CountryId" NUMBER(3,0),
CONSTRAINT "BR_USER_EMAIL_CORRECT" CHECK ("Email" like '%@%'),
CONSTRAINT "BR_USER_EMAIL_UNIQUE" UNIQUE("Email"),
CONSTRAINT "BR_USER_ID_PK" PRIMARY KEY ("UserId") ENABLE
)
/
CREATE TABLE "BR_APPCATEGORY"(
"AppCategoryId" NUMBER(2,0),
"CategoryName" VARCHAR2(20) CONSTRAINT "BR_APPCATEGORY_NAME_NN" NOT NULL ENABLE,
"Description" VARCHAR2(100),
CONSTRAINT "BR_APPCATEGORY_PK" PRIMARY KEY ("AppCategoryId") ENABLE
)
/