My database doesn't have a specific column so I created a column in my query by switch. What I need is to concatenate this column with another column in the database:
select
certificateDuration ,
'DurationType' = case
when certificateDurationType = 0 then 'Day'
when certificateDurationType = 1 then 'Month'
when certificateDurationType = 2 then 'Year'
end
from
Scientific_Certification
To concatenate strings in SQL Server you can simply use the + operator .
Note that if one of the substrings is null then the entire concatenated string will become null as well. therefor, use COALESCE if you need a result even if one substring is null.
select certificateDuration,
' DurationType = '+
COALESCE(case
when certificateDurationType = 0 then 'Day'
when certificateDurationType = 1 then 'Month'
when certificateDurationType = 2 then 'Year'
end, '') As DurationType
from Scientific_Certification
Note: I've used coalesce on your case clause since you have no default behavior (specified by else
). this means that if certificateDurationType
is not 0, 1 or 2 the case statement will return null
.
You just need to try +
operator or CONCAT
function
+
for all SQL Server versions
DurationType = ' + 'some text'
CONCAT
for SQL Server 2012 +
CONCAT('DurationType = ', 'some text')
Your query should be something like this
SELECT certificateDuration
,'DurationType = ' +
CASE certificateDurationType
WHEN 0 THEN 'Day'
WHEN 1 THEN 'Month'
WHEN 2 THEN 'Year'
END
FROM Scientific_Certification
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.