No SQL Server, assim como você pode usar o T-SQL para obter o nome do mês de uma data, também pode usar os mesmos métodos para obter o nome do dia. Por nome do dia, quero dizer segunda-feira ou terça-feira por exemplo, e não o número da data ou o número do dia da semana (que você também pode obter se precisar).
Aqui estão três maneiras de retornar o nome do dia de uma data no SQL Server usando T-SQL.
A função FORMAT()
O
FORMAT()
A função retorna um valor formatado no formato especificado e cultura opcional. Você pode usá-lo para retornar o nome do dia de uma data. Aqui está um exemplo:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'dddd') AS Result;
Resultado:
+----------+ | Result | |----------| | Sunday | +----------+
Neste caso, fornecemos um formato de
dddd
que é para o nome do dia. Você também pode obter o nome curto do dia fornecendo
ddd
como segundo argumento:DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'ddd') AS Result;
Resultado:
+----------+ | Result | |----------| | Sun | +----------+
Você também pode fornecer um argumento opcional para especificar a cultura.
aqui estão alguns exemplos:
DECLARE @date datetime2 = '2018-07-01'; SELECT FORMAT(@date, 'dddd', 'en-US') AS 'en-US', FORMAT(@date, 'dddd', 'es-es') AS 'es-es', FORMAT(@date, 'dddd', 'de-de') AS 'de-de', FORMAT(@date, 'dddd', 'zh-cn') AS 'zh-cn';
Resultado:
+---------+---------+---------+---------+ | en-US | es-es | de-de | zh-cn | |---------+---------+---------+---------| | Sunday | domingo | Sonntag | 星期日 | +---------+---------+---------+---------+
A função DATENAME()
O
DATENAME()
função é semelhante à DATEPART()
função, exceto que ela retorna o nome da parte da data especificada (mas apenas quando um nome for aplicável). Isso significa que ele retorna o nome do dia da semana ou o nome do mês, se for o que você precisa. Veja como retornar o componente de dia da semana da data:
DECLARE @date datetime2 = '2018-07-01'; SELECT DATENAME(weekday, @date) AS Result;
Resultado:
+----------+ | Result | |----------| | Sunday | +----------+
A função escalar ODBC DAYNAME()
Se por algum motivo você precisar usar uma função escalar ODBC, existe uma chamada
DAYNAME()
que retorna especificamente o nome do dia da semana de uma data. Exemplo:
DECLARE @date datetime2 = '2018-07-01'; SELECT {fn DAYNAME(@date)} AS Result;
Resultado:
+----------+ | Result | |----------| | Sunday | +----------+
Ao usar funções escalares ODBC em T-SQL, elas são cercadas por chaves (
{}
) e o nome da função é prefixado com fn
.