Hi. I was wondering how I might be able to write the following SQL statement | SET @.AlertSymbol = N'MSFT' | when I want to replace the MSFT with the variable @.StockSymbol?
I'd like to do something like | SET @.AlertSymbol = N'@.StockSymbol' | but that doesn't seem to work as SQL isn't evaluating @.StockSymbol but rather treating it as a string.
All of the following return errors:
SET @.AlertSymbol = N@.StockSymbol
SET @.AlertSymbol = N+@.StockSymbol
SET @.AlertSymbol = N&@.StockSymbol
Thanks, MattJust declare @.StockSymbol as nchar or nvarchar and you can simply use
SET @.AlertSymbol = @.StockSymbol
The N in N'foo' tells SQL Server that 'foo' is in unicode. The same applies to all n<bar> datatypes.|||Originally posted by mt404
Hi. I was wondering how I might be able to write the following SQL statement | SET @.AlertSymbol = N'MSFT' | when I want to replace the MSFT with the variable @.StockSymbol?
I'd like to do something like | SET @.AlertSymbol = N'@.StockSymbol' | but that doesn't seem to work as SQL isn't evaluating @.StockSymbol but rather treating it as a string.
All of the following return errors:
SET @.AlertSymbol = N@.StockSymbol
SET @.AlertSymbol = N+@.StockSymbol
SET @.AlertSymbol = N&@.StockSymbol
Thanks, Matt
Nchar/varchar has higher precedence than char/varchar. Hence, an implicit conversion should take care of this for you.
e.g.
declare @.AlertSymbol nvarchar(10),
@.StockSymbol varchar(10)
set @.StockSymbol='MSFT'
set @.AlertSymbol=@.StockSymbol
--sql2k
select sql_variant_property(@.AlertSymbol,'BaseType'), @.AlertSymbol|||Thaks to both of you for helping me out and teaching me what the N'foo' actually meant.
Showing posts with label msft. Show all posts
Showing posts with label msft. Show all posts
Subscribe to:
Posts (Atom)