SELECT * FROM table
WHERE CONCAT(' ', list, ' ') NOT LIKE '% 111 %'
ORDER BY id LIMIT 1
CREATE TABLE appartament ( id int, name varchar(20), slots int );
INSERT appartament VALUES ( 1, 'Redison', 3 ), ( 2, 'Qubus Hotel', 2 ), ( 3, 'Hotel Nuber One', 4 );
CREATE TABLE reservation ( appartament_id int, guests int );
INSERT reservation VALUES ( 1, 2 ), ( 1, 1 ), ( 3, 1 );
SELECT name, slots, IFNULL( SUM( guests ), 0 ) AS CountGuest
FROM reservation
RIGHT JOIN appartament ON id = appartament_id
GROUP BY name
HAVING CountGuest < slots
Проблема с регулярным выражениемНе используйте.
SUBSTR
вырежьте число, определяя параметры для неё с помощью INSTR(listinfo, ';i:')
и INSTR(listinfo, ';s:6:')
.select SUBSTR( SUBSTR( 'a:27:{s:4:"List";i:6323;s:6:"Status";s:6:..}', 1,
INSTR( 'a:27:{s:4:"List";i:6323;s:6:"Status";s:6:..}', ';s:6') - 1 ),
INSTR( 'a:27:{s:4:"List";i:6323;s:6:"Status";s:6:..}', ';i:') + 3 ) from dual
s_t_u_v_w и нажимаю найти, мне должно вывести все строгие совпадения с этим ником
SELECT * FROM teleg WHERE nik = 's_t_u_v_w'
SELECT * FROM teleg WHERE nik LIKE 's!_t!_u!_v!_w' ESCAPE '!'
В данный момент из-за того что символ _ заменяется, я не могу найти ники с его участием.SQL сервер ничего не заменяет.
поставил в ячейках ентеры, из-за этого ничего не находило
SELECT * FROM teleg WHERE nik = 's_t_u_v_w' + CHAR(13)
SELECT * FROM teleg WHERE REPLACE(nik, CHAR(13), '') = 's_t_u_v_w'
Не во всех ячейках есть какой-то символ (или что это такое).
SELECT CONVERT(VARCHAR, CAST(nik AS binary), 2) FROM teleg
CHAR(13)
или CHAR(0x0D)
и удаляете егоUPDATE teleg SET nik = REPLACE(nik, CHAR(0x0D), '')
TRIM
не срабатывает, так как пробел CHAR(0x20)
не последний символ.SELECT HEX(nik) FROM teleg
UPDATE teleg SET nik = REPLACE(nik, CAST( 0x0D AS CHAR ), '')
SELECT * FROM tickets
WHERE UPPER( REPLACE( REPLACE( REPLACE( text, '.', '' ), ':', '' ), '-', '' )) LIKE '%282800556677%'
попадания под условие нечто типа "серийный номер 1F2828004211AA0065400121"В таких случаях используется разделитель:
SELECT * FROM tickets
WHERE CONCAT(' ', UPPER( REPLACE( REPLACE( REPLACE( text, '.', '' ), ':', '' ), '-', '' )) , ' ')
LIKE '% 282800556677 %'
UPDATE
с подзапросом.UPDATE table1
SET count_object = ( SELECT COUNT(*) FROM table2 WHERE table1.id = table2.id )