简体   繁体   中英

Select in Concat mysql

I'm trying to get a date value with: - Current year - Current month - Day number from one select

the query

SELECT rat_data FROM rate_unita WHERE rateid = 1 

as a result one INT value.

When I try to execute the following:

SELECT DATE(CONCAT(YEAR(NOW())),(MONTH(NOW())), (SELECT rat_data FROM rate_unita WHERE rateid = 1))

Mysql mark my syntax as incorrect near ' ( MONTH( NOW( ) ) ) , ( SELECT rat_data FROM rate_unita WHERE r

I think that there is something wrong with the way I'm calling the SELECT in the CONCAT, what is the correct query to reach my goal?

Thanks L

You're closing the concat function too early. Remove some extra parentheis

SELECT DATE(CONCAT(YEAR(NOW()),
  MONTH(NOW()),
  (SELECT rat_data FROM rate_unita WHERE rateid = 1)
))

But you need to add some hyphens to make it a true date value

SELECT DATE(
  CONCAT(
    YEAR(NOW()),
    '-',
    MONTH(NOW()),
    '-',
    (SELECT rat_data FROM rate_unita WHERE rateid = 1)
  )
)

This should result in a date of YEAR-MONTH-rat_data

Here's a working SQL Fiddle

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM