Hare In Maze - Game
ENG: Hare In Maze - Go through the maze, collect carrots, and beware of wolves.
RUS: Заяц В Лабиринте - Пройди лабиринт, собери морковки, остерегайся волков.
ENG: Hare In Maze - Go through the maze, collect carrots, and beware of wolves.
RUS: Заяц В Лабиринте - Пройди лабиринт, собери морковки, остерегайся волков.
Пример применения SPLIT_STRING для всех строк в наборе одним скриптом.
-- Создаем набор данных для примера
declare @tbl table(path varchar(max));
insert into @tbl
select 'root_home_user'
union
select 'lib_var_simple'
union
select 'var_games_user'
--Теперь выбираем для каждой записи второе значение в строке с учетом разделителя "_"
select
path,
s.value -- Здесь будет результат SPLIT_STRING для каждого поля
from @tbl
CROSS APPLY
STRING_SPLIT(path, '_') AS s -- Замените '_' на ваш разделитель
WHERE
s.value = (SELECT value FROM STRING_SPLIT(path, '_')
ORDER BY (SELECT NULL) OFFSET 1 ROW FETCH NEXT 1 ROW ONLY)
-- Для выбора какой из параметров по порядку взять, меняем OFFSET - 0 - первый и далее.
Пример возвращения параметра при выполнении динамически созданного запроса.
Будем использовать для этого sp_executesql
DECLARE @eventCount as int = 0; -- Наш возвращаемый параметр
DECLARE @sqlString AS NVARCHAR(500); -- Динамически сгенерированный SQL скрипт
DECLARE @parmDefinition AS NVARCHAR(500); -- Набор параметров для обмена
DECLARE @actualDate as date = '2000-08-24';
DECLARE @tableName as varchar(max) = 'sys.tables';
SET @parmDefinition = N'@outputCount int OUTPUT,@DateSend date';
SET @sqlString = N'select @outputCount = count(1) from '+@tableName+' where create_date>@dateSend;';
EXEC sp_executesql
@stmt = @sqlString, -- Динамически созданный запрос
@params = @parmDefinition, -- Описание передаваемых параметров (как в запрос так и обратно)
@dateSend = @actualDate, -- Принимаемый параметр
@outputCount = @eventCount OUTPUT; -- Возвращаемый параметр
SELECT @eventCount AS CountEvents;
Если при обработке текста из TMP_InputField, появляется символ вопроса в конце строки (вероятно может быть и другой символ). То дело может быть в том, что TMP_InputField может добавлять символ неразрывного пробела конце строки 0x200B. В самом поле ввода вы его не увидите, но при определенных обстоятельствах при передаче текста может всплыть.
Лечится эта проблема довольно просто, вот так:
myTextMeshProText.text = myTextMeshProText.text.Replace("\u200B", "");
IN
select * from Rating
where ID_PLAYER in (
select ID_PLAYER from Players where PLAYER_STATUS = 'Active'
);
EXISTS
select * from Rating r
where exists (
select 1 from Players p
where p.ID_PLAYER = r.ID_PLAYER and p.PLAYER_STATUS = 'Active'
);
Пример добавление события на кнопку
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class PanelPaused : MonoBehaviour
{
public Button buttonContinue;
public Button buttonExit;
void Start()
{
buttonContinue.onclick.AddListener(() => Buttonclicked("continue"));
buttonExit.onclick.AddListener(() => Buttonclicked("exit"));
}
void Buttonclicked(string button)
{
switch (button)
{
case "continue":
Debug.Log("Делаем что-нибудь для Continue");
break;
case "exit":
Debug.Log("Делаем что-нибудь для Exit")
break;
}
}
}
Чтобы скрыть курсор
Cursor.lockState = CursorLockMode.Confined;
Cursor.visible = false;
Чтобы отобразить курсор
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
Добавление описания к полю в таблице
EXEC sp_addextendedproperty
@name = N'MS_Description',
@value = N'Описание поля',
@level0type = N'SCHEMA', @level0name = N'CRM', -- Вместо 'dbo' ставим название своей схемы если отличается
@level1type = N'TABLE', @level1name = N'TableName', -- Наименование таблицы 'TableName', для поля которой добавляем описание
@level2type = N'COLUMN', @level2name = N'ColumnName'; -- Название поля 'ColumnName', для которого добавляем описание
Примеры получения текста запроса по идентификатору сессии
DECLARE @sqltext VARBINARY(128)
SELECT @sqltext = sql_handle
FROM sys.sysprocesses
WHERE spid = (YourSessionID)
SELECT TEXT
FROM sys.dm_exec_sql_text(@sqltext)
GO
SELECT TEXT
FROM sys.dm_exec_connections
CROSS APPLY sys.dm_exec_sql_text(most_recent_sql_handle)
WHERE session_id = (yoursessionID)
GO
Пример выборки полей из временной таблицы со всеми параметрами.
Идентично можно выбирать и для обычных таблиц.
Select c.column_id
,c.name [column_name]
,y.name [data_type]
,c.max_length
,c.precision
,c.scale
,c.is_identity
,c.is_nullable
,c.collation_name
,', ['+c.name +'] ['+y.name+']'
+IIF (y.name in ('varchar','char'),'('+cast(IIF(c.max_length=0,'max',c.max_length) as varchar(5))+')','')
+IIF (y.name in ('nvarchar'),'('+cast(IIF(c.max_length=0,'max',c.max_length/2) as varchar(5))+')','')
+IIF (y.name in ('decimal','numeric'),'('+cast(c.precision as varchar(3))+', '+cast(c.scale as varchar(3))+')','')
+IIF (not y.collation_name is null,' COLLATE '+y.collation_name,'')
+IIF (y.is_nullable = 1,' NULL','')
as [ready_column]
From tempdb.sys.columns c
Inner join sys.types y ON y.system_type_id = c.system_type_id
WHERE c.object_id = Object_id('tempdb..#tmp')
and y.name!='sysname'
order by c.column_id
#tmp - ваша временная таблица