Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 строковые литералы в MSSQL  [new]
trak
Member

Откуда: spb.ru
Сообщений: 802
К сожалению, Гугл не помог.
Вот смотрите, в Oracle можно написать вот так:

select q'`'строка','строка'`' ....

То есть, то что внутри q'``' является строковым литералом, и я обычно использую это, чтобы не маскировать апострофы внутри строки. А как это делают в MSSQL ? Может в документации где-то есть, но я не нашел. Вообще, задача, чтобы запросы были совместимы у меня между этими двумя базами.

Спасибо!


---
Гроб карманов не имеет.
21 июл 11, 11:25    [11005157]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
yado4eg
Member

Откуда:
Сообщений: 202
trak,

функция - char
21 июл 11, 11:26    [11005169]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
trak, кавычку нужно удвоить, если она внутри строковой константы.
21 июл 11, 11:28    [11005184]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
trak,

Экранирование
SELECT ' кавыч''ка '
21 июл 11, 11:29    [11005198]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
trak
Member

Откуда: spb.ru
Сообщений: 802
Судя по ответам, придется писать разные запросы для разных баз.
Экранировать кавычки не получится, так-бы я, конечно заэкранировал и для Oracle тоже и сразу.
Спасибо всем!
21 июл 11, 11:32    [11005225]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
trak
Судя по ответам, придется писать разные запросы для разных баз.
Экранировать кавычки не получится, так-бы я, конечно заэкранировал и для Oracle тоже и сразу.
Спасибо всем!
Можно гарантировать на 99.9999%, что Вам не удастся написать все запросы,
корректно выполняющиеся и на PL/SQL, и на T-SQL.
Надо сразу писать две версии всего-всего - под Oracle и под MSSQL
Заморачиваться по поводу каких-то там кавычек в этих условиях не имеет смысла.
21 июл 11, 12:14    [11005733]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
trak
Member

Откуда: spb.ru
Сообщений: 802
iap, в данном случае речь не идет о процедурных языках (PL/SQL | t-sql), и идет речь о SQL.
А в этом случае, я умудряюсь 90% запросов сделать совместимыми. .

Сообщение было отредактировано: 21 июл 11, 15:37
21 июл 11, 15:25    [11007449]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
trak
iap, в данном случае речь не идет о процедурных языках (PL/SQL | t-sql), и идет речь о SQL.
А в этом случае, я умудряюсь 90% запросов сделать совместимыми. Такие дела.
Как ты совмещаешь функции PL-SQL и T-SQL ? Такие как у PL-SQL: TO_NUMBER, TO_CHAR, TO_DATE и тому подобные... Которые очень часто используются в моей повседневной жизни...
21 июл 11, 15:38    [11007571]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31956
trak
А в этом случае, я умудряюсь 90% запросов сделать совместимыми. .
Для обычных запросов это нормальное соотношение, но в них и кавычек не надо удваивать - редко они там встреяаются, в серверном коде.

Если речь о передаче текста запроса из клиента, то там легко сделать общий обработчик, который в зависимости от сервера будет правильно преобразовывать параметры разных типов.

Ведь кроме строковых литералов, у оракла и микррософта несовместимы все остальные, например, дата, время, число... :-)
21 июл 11, 16:39    [11008084]     Ответить | Цитировать Сообщить модератору
 Re: строковые литералы в MSSQL  [new]
trak
Member

Откуда: spb.ru
Сообщений: 802
alexeyvg
Ведь кроме строковых литералов, у оракла и микррософта несовместимы все остальные, например, дата, время, число... :-)

Я кастую их все к ansi-типам, вроде как все срастается обычно. Но в принципе да, универсальные вещи хорошими не бывают.
25 июл 11, 09:00    [11020956]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить