powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / RAW (16)
7 сообщений из 7, страница 1 из 1
RAW (16)
    #39948871
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
WITH tbl AS (
SELECT 1 s, 'какой-то текст'  d, 'какой-то текст' f from dual
)
SELECT CAST (standard_hash( s ||'|'|| 
                                               d ||'|'|| 
                                               f, 'MD5')
                            AS  RAW (16)
                           
                           ) hash_id 
                           ,LENGTHB( standard_hash( s ||'|'|| 
                                                                                 d ||'|'|| 
                                                                                 f, 'MD5'))
                           FROM tbl


Пока не понял ?
...
Рейтинг: 0 / 0
RAW (16)
    #39948874
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarock
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Connected to Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 
SQL> WITH tbl AS (
  2  SELECT 1 s, 'какой-то текст'  d, 'какой-то текст' f from dual
  3  )
  4  SELECT CAST (standard_hash( s ||'|'||
  5                                                 d ||'|'||
  6                                                 f, 'MD5')
  7                              AS  RAW (16)
SQL>                            ) hash_id
  2                             ,LENGTHB( standard_hash( s ||'|'||
  3                                                                                   d ||'|'||
  4                                                                                   f, 'MD5'))
  5                             FROM tbl
  6  ;
) hash_id
                           ,LENGTHB( standard_hash( s ||'|'||
                                                                                 d ||'|'||
                                                                                 f, 'MD5'))
                           FROM tbl
ORA-00900: invalid SQL statement

SQL> 


так понятнее ?
...
Рейтинг: 0 / 0
RAW (16)
    #39948876
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй,

Херово скопировал)
...
Рейтинг: 0 / 0
RAW (16)
    #39948877
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
WITH tbl AS
 (SELECT 1 s
        ,'какой-то текст' d
        ,'какой-то текст' f
    FROM dual)
SELECT CAST(standard_hash(s || '|' || d || '|' || f, 'MD5') AS RAW(16)) hash_id
      ,lengthb(standard_hash(s || '|' || d || '|' || f, 'MD5'))
      ,vsize  (standard_hash(s || '|' || d || '|' || f, 'MD5'))
  FROM tbl



Вопрос снят, понятно что:
Сам по себе алгоритм MD5 возвращает 128-битное число.
Но функция md5 возвращает не само число, а его строковое представление.
vsize не конвертит в строковое представление
...
Рейтинг: 0 / 0
RAW (16)
    #39948898
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чувак, лучше разобраться с типом RAW и неявным преобразованием типов
Еще можно обратить внимание на функцию RAWTOHEX
...
Рейтинг: 0 / 0
RAW (16)
    #39948899
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarock
Вопрос снят, понятно что:
Сам по себе алгоритм MD5 возвращает 128-битное число.
Но функция md5 возвращает не само число, а его строковое представление.
Функция standard_hash возвращает raw.
...
Рейтинг: 0 / 0
RAW (16)
    #39949163
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
-2-
saxarock
Вопрос снят, понятно что:
Сам по себе алгоритм MD5 возвращает 128-битное число.
Но функция md5 возвращает не само число, а его строковое представление.
Функция standard_hash возвращает raw.
+ lengthb принимает на вход char , соответственно, происходит неявное преобразование из raw в varchar2:

char can be any of the data types CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / RAW (16)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]