>la struttura del dataset è la seguente:
>CREATE TABLE [dbo].[t_table1](
> [date] [datetime] NOT NULL,
> [nick] [varchar](100) NULL,
> [voto] [float] NOT NULL,
> [testo] [text] NOT NULL
>) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Ciao,
Dato che utilizzi SQL Server 2008 R2 dovresti evitare di utilizzare data type obsoleti come TEXT dato che verranno rimossi nelle prossime versioni.
Ti suggerisco di utilizzare varchar(max) in alternativa.
Inoltre la colonna voto che range di valori può accettare? Vedo che hai utilizzato un data type decimale approssimato, sei sicuro che sia la scelta corretta?
>cominciamo con la prima (che non è neanche complessa):
>dovrei tirare fuori tutti i testi che hanno questo pattern :
>"#inizio# @qualcosa"
>al che faccio questa query
>select testo from dbo.table1 where testo like '#inizio# @%'
>solo che mi ritorna il dataset nullo nonostante ci siano effettivamente
>testi del genere.
>facendo alcune prove ho notato che il problema dovrebbe essere
>nello spazio tra '#inizio#' e '@'. come risolvo?
A me funziona:
USE tempdb;
CREATE TABLE dbo.t_table1(
[date] datetime NOT NULL,
nick varchar(100) NULL,
voto float NOT NULL,
testo text NOT NULL
);
INSERT dbo.t_table1 VALUES(CURRENT_TIMESTAMP, NULL, 5, '#inizio# @ciao');
SELECT testo
FROM dbo.t_table1
WHERE testo like '#inizio# @%';
/* Output:
testo
---------------
#inizio# @ciao
*/
DROP TABLE dbo.t_table1;
Il problema sarà altrove.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/