Я хотел бы написать запрос T-SQL, в котором я кодирую строку как строку Base64. Удивительно, но я не могу найти никаких собственных функций T-SQL для кодирования Base64. Существует ли собственная функция? Если нет, то как лучше всего использовать кодировку Base64 в T-SQL?
124
Ответы:
Я знаю, что на это уже был дан ответ, но я просто потратил больше времени, чем хотел бы признать, придумывая для этого однострочные операторы SQL, поэтому я поделюсь ими здесь на случай, если кому-то еще понадобится сделать то же самое:
Мне пришлось использовать сгенерированную подзапросом таблицу в первом (кодированном) запросе, потому что я не мог найти способ преобразовать исходное значение («TestData») в его шестнадцатеричное строковое представление («5465737444617461»), чтобы включить его в качестве аргумента в xs: hexBinary () в операторе XQuery.
Я надеюсь, что это поможет кому-то!
источник
xs:base64Binary(sql:column("bin"))
(безxs:hexBinary
вызова) тоже работает. Большая помощь!SELECT CAST( CAST(N'' AS XML).value( 'xs:base64Binary("LgkoCU0JJAlNCTAJQAkyCUcJIAAJCTIJTQkfCU0JLwk+CQ8JIAA4CT4JJAkgABsJKAlNCWQJ")' , 'VARBINARY(MAX)' ) AS NVARCHAR(MAX) ) UnicodeEncoding ;
Самый простой и короткий способ для SQL Server 2012 и более поздних версий
BINARY BASE64
:Для Base64 для строки
(или
nvarchar(max)
для строк Unicode)источник
Вот модификация ответа mercurial, которая также использует подзапрос при декодировании, что позволяет использовать переменные в обоих случаях.
источник
Вот код функций, которые будут выполнять эту работу
Пример использования:
источник
Мне понравился ответ @Slai. Мне нужно было внести очень незначительные изменения в однострочники, которые я искал. Я подумал, что поделюсь тем, что у меня получилось, на случай, если это поможет кому-то еще, наткнувшись на эту страницу, как я:
источник
VARBINARY
наVARBINARY(56)
, и тогда это сработало.Нет, встроенной функции нет, этот метод работал у меня в прошлом: http://www.motobit.com/help/scptutl/sa306.htm,
так что есть этот метод:
http://www.vbforums.com/ showthread.php? т = 554886
источник
Это полезно для кодирования и декодирования.
Автор: Бхарат Дж.
источник
Я сделал скрипт для преобразования существующего хэша, закодированного в base64, в десятичный, это может быть полезно:
источник
Вы можете использовать только:
то после кодирования вы получите текст MjE4Nqk5
источник